用multiprocessing模块建立线程

没什么介绍直接上: 

#_*_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>

 

你可能感兴趣的:(用multiprocessing模块建立线程)