看看下面代码python线程不会退出,越来越多,

DrSmart 2014-07-04 04:19:02
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
...全文
201 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
DrSmart 2014-07-04
  • 打赏
  • 举报
回复
我擦,csdn没有代码自适应,缩进丢了,不过还是很清晰的

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧