#!/usr/bin/env python
#-*-Coding:utf-8-*-
From threadingImport Thread
From QueueImport Queue
Import time
ClassProducer (Thread):
Def__INIT__ (Self, name, queue):
Self.__name = Name
Self.__queue = Queue
Super (Producer,Self).__init__ ()
DefRunSelf):
While1:
IfSelf.__queue.full ():
Time.sleep (1)
Else
Self.__queue.put (' Bread ')
Time.sleep (1)
Print'%s produce a bread '% (Self.__name,)
ClassConsumer (Thread):
Def__INIT__ (Self, name, queue):
Self.__name = Name
Self.__queue = Queue
Super (Consumer,Self).__init__ ()
DefRunSelf):
While1:
IfSelf.__queue.empty ():
Time.sleep (1)
Else
Self.__queue.get ()
Time.sleep (1)
Print'%s eat a bread '% (Self.__name,)
que = Queue (maxsize=100)
For P in range (3):
Name = ' p%d '% (P,)
temp = Producer (name, que)
Temp.start ()
For item in range (20):
Name = ' c%d '% (item,)
temp = Consumer (name, que)
Temp.start ()
Python multi-threaded production consumption