没什么介绍直接上:
#_*_coding:utf-8*_*
'''
用multiprocessing模块建立线程
'''
#导入multipeocessing模块中的Porcess类:
from multiprocessing import Process,Queue
import time
def func1(q): #生产者函数
print("这个线程当前队列大小%s"%q.qsize())
if not q.full():
q.put('消息') #产生消息
def func2(q): #消费者函数
time.sleep(1)
print("这个线程接受消息前队列大小%s"%q.qsize())
while not q.empty():
s=q.get() #接收消息
print(s)
#建立主函数:
if __name__=='__main__':
'''
创建线程:
'''
q=Queue() #创建队列
#func1是调入线程的函数,args所赋值是函数func1的实参(必须是数组)。
p1=Process(target=func1,args=(q,))
p2=Process(target=func2,args=(q,))
p1.start() #启动线程
p2.start()
p1.join() #结束线程
p2.join()
看结果:
这个线程当前队列大小0
这个线程接受消息前队列大小1
消息
PS C:\Users\xx\Desktop\python_code>