多个线程通过互斥锁有序的执行
摘要:from threading import Thread,Lock from time import sleep class Task1(Thread): """y';]lopppdocstring for Task1""" def run(self): while 1: if lock1.acquire(): print("---task1----") ...
阅读全文
posted @
2019-01-31 11:28
Q_sword
阅读(171)
推荐(0)
多线程使用互斥锁
摘要:线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁 执行结果
阅读全文
posted @
2019-01-31 10:49
Q_sword
阅读(140)
推荐(0)
进程间的通信---进程池Pool
摘要:如果要使用Pool创建进程,就需要使用multiprocessing.Manager()中的Queue(),而不是multiprocessing.Queue() 运行结果:
阅读全文
posted @
2019-01-29 15:47
Q_sword
阅读(143)
推荐(0)
进程间的通信--Process
摘要:在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据: 执行结果
阅读全文
posted @
2019-01-29 15:26
Q_sword
阅读(140)
推荐(0)
进程池Pool
摘要:当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程, 但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 apply_async(func[, args[, kwds]
阅读全文
posted @
2019-01-29 13:57
Q_sword
阅读(86)
推荐(0)
join()方法,主进程等待子进程
摘要:from multiprocessing import Process import time def test(): for i in range(5): print("----%d---"%i) time.sleep(1) p = Process(target=test) p.start() p.join()# 堵塞状态 参数表示等待子进程多...
阅读全文
posted @
2019-01-29 11:56
Q_sword
阅读(123)
推荐(0)
给子进程传递参数
摘要:1 from multiprocessing import Process 2 import os 3 4 def test(name): 5 print("pid=%d,ppid=%d,,,,参数=%s"%(os.getpid(),os.getppid(),name)) 6 # args为元组 7 p = Process(target = test, args = ("nameVal...
阅读全文
posted @
2019-01-29 11:43
Q_sword
阅读(110)
推荐(0)