2015. 3. 6. 00:56
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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.name)
        process_data(self.name, self.q)
        print ("Exiting "+self.name)

def process_data(threadName, q):
    while not exitFlag:
        queueLock.acquire()
        if not workQueue.empty():
            data=q.get()
            queueLock.release()
            print ("%s processing %s"%(threadName, data))
        else:
            queueLock.release()
        time.sleep(1)

threadList=["Thread-1", "Thread-2", "Thread-3"]
nameList=["One","Two","Three","Four","Five"]
queueLock=threading.Lock()
workQueue=Queue.Queue()
threads=[]
threadID=1

#create new threads
for tName in threadList:
    thread=myThread(threadID, tName, workQueue)
    thread.start()
    threads.append(thread)
    threadID+=1

#Fill the queue
queueLock.acquire()
for word in nameList:
    workQueue.put(word)
queueLock.release()

#wait for queue to empty
while not workQueue.empty():
    pass

#notify threads it's time to exit
exitFlag=1

#wait for all threads to complete
for t in threads:
    t.join()
print("Exiting Main Thread")


'Python' 카테고리의 다른 글

fileUpload.py  (0) 2015.04.13
randomGenerator.py  (0) 2015.04.02
threadEx.py  (0) 2015.03.05
cookie.py  (0) 2015.03.05
fileReadline.py  (0) 2015.03.05
Posted by af334