2018-07-31-Python全栈开发day34-锁、信号量、线程、队列-part2-进程

1生产者模型和消费者模型

  

import time,queue,threading



def producer():
    n=1
    while n<11:

        print('准备开始做第%s包子' %n)
        time.sleep(3)
        q.put(n)
        q.join()
        n+=1



def cusumer(name):
    while 1:

        s = q.get()
        print(' %s开始吃第%s包子' %(name,s))
        time.sleep(3)
        q.task_done()





q=queue.Queue()
if __name__ == '__main__':
    c1=threading.Thread(target=cusumer,args=('c1',))
    c2=threading.Thread(target=cusumer,args=('c2',))
    c3 = threading.Thread(target=cusumer, args=('c3',))
    c4 = threading.Thread(target=cusumer, args=('c4',))
    p1=threading.Thread(target=producer)


    c1.start()
    c2.start()
    c3.start()
    c4.start()
    p1.start()
生产者消费者模型

2.多进程的调用

  • 创建进程类
  • 创建进程

  2.1 Process

  

from multiprocessing import Process

def test():
    print('this is process')
if __name__ == '__main__':

    l=[]
    for i in range(5):
        p=Process(target=test)
        l.append(p)
        p.start()
    for s in l:
        s.join()
直接创建进程

  2.2 创建进程类

  

from multiprocessing import Process

class Myprocess(Process):
    def __init__(self):
        Process.__init__(self)
    def run(self):
        print('this is process')


if __name__ == '__main__':
    l=[]
    for i in range(10):
        l.append(Myprocess())
    for s in l:
        s.start()
创建进程类

3.进程的方法

  • p.join()--
  • p.daemon===守护进程

    

  

猜你喜欢

转载自www.cnblogs.com/hai125698/p/9398781.html