01 2019 档案
多个线程通过互斥锁有序的执行
摘要: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) 推荐(0)
多线程使用互斥锁
摘要:线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁 执行结果 阅读全文
posted @ 2019-01-31 10:49 Q_sword 阅读(140) 评论(0) 推荐(0)
进程间的通信---进程池Pool
摘要:如果要使用Pool创建进程,就需要使用multiprocessing.Manager()中的Queue(),而不是multiprocessing.Queue() 运行结果: 阅读全文
posted @ 2019-01-29 15:47 Q_sword 阅读(143) 评论(0) 推荐(0)
进程间的通信--Process
摘要:在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据: 执行结果 阅读全文
posted @ 2019-01-29 15:26 Q_sword 阅读(140) 评论(0) 推荐(0)
进程池Pool
摘要:当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程, 但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 apply_async(func[, args[, kwds] 阅读全文
posted @ 2019-01-29 13:57 Q_sword 阅读(86) 评论(0) 推荐(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) 推荐(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) 推荐(0)