DrSmart 2014年07月04日
看看下面代码python线程不会退出,越来越多,
python 3的代码,queue是小写的,哈哈

from queue import Queue
import time
import threading

class Test():

def __init__(self):
self.q = Queue()
self.THREAD_NUM = 5

def impl(self, obj):
print(obj)
time.sleep(1)

def working(self):
while True:
obj = self.q.get()
self.impl(obj)
self.q.task_done()

def addTask(self, pending):
start = time.time()

for i in range(self.THREAD_NUM):
t = threading.Thread(target=self.working)
t.setDaemon(True)
t.start()

for obj in pending:
self.q.put(obj)

self.q.join()

print ('Elapsed Time=%d, Active Thread=%d' %(int(time.time() - start), threading.activeCount()))

if __name__ == "__main__":
for i in range(0, 50, 3):
pending = []
pending.append(i)
pending.append(i+1)
pending.append(i+2)
Test().addTask(pending)
i+=1
...全文
37 点赞 收藏 1
写回复
1 条回复

还没有回复,快来抢沙发~

发动态
发帖子
脚本语言(Perl/Python)
创建于2007-08-27

1.5w+

社区成员

3.3w+

社区内容

其他开发语言 脚本语言(Perl ,Python)
社区公告
暂无公告