Python开发---25多线程多进程

Posted 兰智杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发---25多线程多进程相关的知识,希望对你有一定的参考价值。

多进程的几种方法

  Lock:可以避免访问资源时的冲突

  Pool:可以提供指定数量的进程

  Queue:多进程安全的队列,实现多进程之间的数据传递

  Pipe:实现管道模式下的消息发送与接收

Lock(加锁)

#加锁
‘‘‘
输出为  work_1 start
        work_2 start
        work_1 end
        work_2 end
‘‘‘
import time
import multiprocessing
def work_1(f,n,lock):
    print(work_1 start)
    lock.acquire()
    for i in range(n):
        with open(f,a) as fs:
            fs.write(i love pyhton 
)
            time.sleep(1)
    print(work_1 end)
    lock.release()

def work_2(f,n,lock):
    print(work_2 start)
    lock.acquire()
    for i in range(n):
        with open(f,a) as fs:
            fs.write(come on baby 
)
            time.sleep(1)
    print(work_2 end)
    lock.release()

if __name__ == __main__:
    lock=multiprocessing.Lock()
    p1 = multiprocessing.Process(target=work_1,args = (file.txt,3,lock))
    p2 = multiprocessing.Process(target=work_2, args=(file.txt, 1,lock))
    p1.start()
    p2.start()

 

以上是关于Python开发---25多线程多进程的主要内容,如果未能解决你的问题,请参考以下文章

[Python3] 043 多线程 简介

python中的多线程和多进程编程

Python开发基础----多线程

Python开发基础-Day29多线程

什么是多线程,多进程?

在 Python 多处理进程中运行较慢的 OpenCV 代码片段