遇到同樣的問題,線程調用的方法里 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
提交
取消