سلام
من این تکه کدو نوشتم وقتی توی تابع tavan اون بخش time.sleep رو میرزارم درست کار میکنه ولی وقتی time.sleep رو حذف میکنم اجرای کد تموم نمیشه یعنی اصلا اون قسمت print('all finished') اصلا چاپ نمیشه مشکل چیه؟
import queue
import threading
import time
q = queue.Queue()
number_list = [234, 535, 3, 5, 345, 34, 533, 76] #* 10
def tavan(num):
time.sleep(2)
print(num ** 4)
class CustomThreading(threading.Thread):
def __init__(self, queu, target, *args, **kwargs):
self.queu = queu
self.target = target
super().__init__(*args, **kwargs)
def run(self):
while True:
num = self.queu.get()
self.target(num)
self.queu.task_done()
if self.queu.empty():
break
if __name__ == '__main__':
thread_llist = list()
for i in number_list:
q.put(i)
for i in range(3):
c = CustomThreading(queu=q, target=tavan)
thread_llist.append(c)
c.start()
for i in thread_llist:
i.join()
print('all finished')