`
f002489
  • 浏览: 271633 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python 多进程应用示例

py 
阅读更多
python中threading模块详解(一)
http://blog.chinaunix.net/uid-27571599-id-3484048.html


import multiprocessing
import time

def func(name):
    outputline=name
    for i in range(3):
        outputline+= " repeat "+str(i)
        time.sleep(1)
    return outputline

def main():
    pool=multiprocessing.Pool(processes=4)
    result=[]
    for i in range(4):
        pname="cpu_%d"%i
        result.append(pool.apply_async(func, (pname, )))
    pool.close()
    pool.join()
    for res in result:
        print res.get()
    print "all processes done"

if __name__ == '__main__':
    main()

   
示例2,使用锁同步

import multiprocessing
import time

def func(name,lock):
    outputline=name
    for i in range(3):
        outputline+= " repeat "+str(i)
        lock.acquire()
        print name+" repeat "+str(i)
        lock.release()
        time.sleep(1)
    return outputline

def main():
    lock=multiprocessing.Lock()
    subprocesses=[]
    for i in range(4):
        pname="cpu_%d"%i
        process=multiprocessing.Process(target=func, args=(pname,lock))
        process.start()
        subprocesses.append(process)
    
    for p in subprocesses:
        p.join()

    print "all processes done"

if __name__ == '__main__':
    main()
分享到:
评论

相关推荐

    Python多进程示例multiprocess.py

    Python多进程示例multiprocess.py python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在 python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing, 只需要定义...

    python多进程和opencv图像处理的应用

    将Python多进程与OpenCV结合,我们可以实现大规模图像数据的并行处理。例如,在图像分类、目标检测或图像增强的任务中,我们可能需要对大量的图片进行预处理。通过创建多个进程,每进程负责处理一部分图像,可以显著...

    TensorRT python多进程推理踩坑(csdn)————程序.pdf

    在使用TensorRT进行深度学习推理时,特别是在Python环境中,可能会遇到多线程或多进程的优化问题。本篇文章主要探讨了在TensorRT中实现多线程推理以及如何在Python的multiprocessing库下正确运行多进程推理的注意...

    python 进程的使用 python基础 提供了python进程的使用示例代码,python2可以直接运行

    在Python中,`multiprocessing`模块提供了跨平台的多进程支持。这个模块在Python 2和Python 3中都可以使用,但在语法和某些功能上略有差异。 ### Python3 在Python3中,`multiprocessing`模块的使用非常直观。例如...

    「Python入门」Python多进程

    ### Python多进程详解 #### 一、前言 在探讨Python多进程之前,我们首先需要了解几个基础概念:进程和线程。 - **进程**(Process):在计算机科学中,进程是指一个程序在一个数据集上的运行过程。它是系统进行...

    Python multiprocessing多进程原理与应用示例

    ### Python `multiprocessing` 多进程原理与应用详解 #### 一、`multiprocessing` 概述 在Python中,`multiprocessing` 是一个用于创建和管理多进程的应用程序接口(API)。它允许用户轻松地将任务分配到多个处理器...

    python实现多进程代码示例

    想要充分利用多核CPU资源,Python中大部分情况下都需要使用多进程,Python中提供了multiprocessing这个包实现多进程。multiprocessing支持子进程、进程间的同步与通信,提供了Process、Queue、Pipe、Lock等组件。 ...

    Python多线程与多进程详解:应用场景及优化策略

    首先概述了Python的基础概念,接着讲解了线程与进程的基本原理及其在实际编程中的应用场景,重点讨论了线程的同步与通信机制(锁、条件变量、队列、事件)、线程池的使用,以及多进程的创建与通信方法。还通过实战...

    详解Python中logging日志模块在多进程环境下的使用

    在Python编程中,日志模块`logging`是一个强大的工具,用于记录程序运行过程中的各种信息。在多进程环境中,正确地使用`logging`模块尤...在实际应用中,开发者应根据具体需求选择合适的方法来处理多进程环境下的日志。

    Python多进程编程.docx

    Python多进程编程是一种高效利用系统资源,特别是在处理大型数据或执行计算密集型任务时,能够显著提高程序执行效率的技术。本文将深入探讨Python中的多进程编程概念、如何使用multiprocessing库以及多进程编程中应...

    python多进程控制学习小结

    以下是一个简单的多进程示例,展示了如何启动并监控进程: ```python import multiprocessing import time def worker(num): time.sleep(1) print(f'这是子进程[{num}]...', flush=True) if __name__ == '__...

    python 单线程多线程和多进程的比较

    在Python编程中,单线程、多线程和多进程是三种不同的并发执行方式,每种方式都有其独特的特点和适用场景。以下是对这些概念的详细解析: **单线程**: 在单线程编程中,程序的执行是顺序进行的,同一时间只能做一...

    python多线程编程示例(threading.py)

    1、多线程的理解 多进程和多线程都可以执行多个任务,线程是进程的一部分。...2、Python多线程创建 在Python中,同样可以实现多线程,有两个标准模块thread和threading,不过我们主要使用 更高级的threading模块。

    Python基础教程书本示例源代码

    此外,可能会涉及网络编程、数据库连接、正则表达式、GUI编程(如Tkinter库)等内容,这些都是Python开发者日常工作中常见的应用场景。 学习这些源代码,不仅可以帮助你巩固Python的基本语法,还能让你了解如何解决...

    python多进程并发demo实例解析

    标题中的“Python多进程并发demo实例解析”意指文章将通过一个具体的示例来详细讲解如何在Python中实现多进程并发处理任务。通过实例代码的介绍,读者可以获得实际的操作经验,并将这些知识应用到自己的学习或工作中...

    python 采集美女图片示例

    7. **多线程或异步IO**:为了提高采集效率,可以使用多线程或多进程技术,或者利用asyncio库进行异步IO操作。这样,在等待一个图片下载的同时,可以开始另一个图片的下载。 8. **道德与法规**:在进行网页数据采集...

    Python-进程启动器

    在IT领域,尤其是在软件开发中,...总的来说,"Python-进程启动器"是一个实用的开发工具,它将Python进程的管理和启动过程封装得更加友好和高效,对于需要处理多进程环境的开发者来说,这是一个值得学习和使用的工具。

    Python多进程分块读取超大文件的方法

    ### Python多进程分块读取超大文件的方法 在处理大数据时,经常遇到需要读取超大文件(例如几个GB甚至TB级别的文件)的需求。由于内存限制,直接将整个文件加载到内存中进行处理通常是不可行的。因此,采用分块读取...

    多进程写sqlite互斥解决方案代码

    以下是一个简单的Python示例,展示了如何在多进程或多线程环境下使用互斥锁写入SQLite数据库: ```python import sqlite3 from multiprocessing import Process, Lock from threading import Thread def write_db...

    CGI介绍及使用Python来开发CGI应用示例

    ### CGI介绍及使用Python来开发CGI应用示例 #### 引入 随着Web技术的发展,Web应用程序变得越来越复杂和高效。在这个过程中,CGI(Common Gateway Interface,通用网关接口)作为早期的一种用于处理动态网页的技术...

Global site tag (gtag.js) - Google Analytics