在python中,如何杀死作业中间的剩余线程? 示例代码:
q = Queue.Queue(maxsize=0)
threads = []
max_thread = 10
locker = threading.Semaphore(value=max_thread)
try :
for user in users_list:
t = threading.Thread(target=my_function, args=(user,))
t.setDaemon(True)
threads.append(t)
t.start()
for thread in threads:
q.put(thread)
q.join()
except Exception as errtxt:
print errtxt
例如,这个函数用于线程池,在这个函数中,我只想收集30个用户,支付超过5000
def my_function(user):
locker.acquire()
if (user.payment > 5000 ):
collected_users.append(user.id)
if(len(collected_users) >= 30 :
return # <- here i wanna kill other remained threads
q.task_done()
locker.release()
我想我应该在队列中设置一个控制器
我试图为我的问题找到一个解决方案,这是我的代码: 希望有人能做得更好
相关问题 更多 >
编程相关推荐