遇到同样的问题,线程调用的方法里 while True 就跳不出这个线程 结束while循环 while 外面的def startsendfile(self,filelist,taskpath,filetypepath): for k in range(2): # new_thread = threading.Thread(target=self.booth(k,filelist,taskpath,filetypepath))
new_thread = threading.Thread(target=self.booth,args=(k,filelist,taskpath,filetypepath)) # new_thread.setDaemon(True)
self.thread_list.append(new_thread) for t in self.thread_list:
t.start() for t in self.thread_list:
t.join()
print("所有线程都结束了", time_now())线程调用方法def booth(self,tid, filelist,taskpath,filetypepath): global thread_data_num global lock while True: self.lock.acquire() print(self.thread_data_num) if self.thread_data_num != 0: self.thread_data_num = self.thread_data_num - 1
item = filelist[self.thread_data_num]
time.sleep(10) else: break
self.lock.release() print("出来了么")结果打印了===> 出来了么却没有执行打印 ===> 所有线程都结束了
添加回答
举报
0/150
提交
取消