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多线程多进程的主要内容,如果未能解决你的问题,请参考以下文章