With the help of Queue module we can create a new queue object that can hold a specific number of items and threads. Queue module have following method which is given below.
get(): The get() removes and returns an item from the queue.
put(): The put adds item to a queue.
qsize() : The qsize() returns the number of items that are currently in the queue.
empty(): The empty( ) returns True if queue is empty; otherwise, False.
full(): the full() returns True if queue is full; otherwise, False.
And example of all method is given below-
#!/usr/bin/python
import Queue
import threading
import time
exitFlag = 0
class myThread (threading.Thread):
def __init__(self, threadID, name, q):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.q = q
def run(self):
print "Starting " + self.test
process_data(self.test, self.q)
print "Exiting " + self.test
def process_data(threadName, q):
while not exitFlag:
queueLock.acquire()
if not workQueue.empty():
data = q.get()
queueLock.release()
print "%s processing %s" % (threadtest, data)
else:
queueLock.release()
time.sleep(1)
threadList = ["Demo-1", "Demo-2", "Demo-3"]
nameList = ["One", "Two", "Three", "Four", "Five"]
queueLock = threading.Lock()
workQueue = Queue.Queue(10)
threads = []
threadID = 1
0 Comment(s)