def count(n): for i in range(1, n+1): print(i) time.sleep(0.01)
for _ in range(2): x = threading.Thread(target=count, args=(5,)) x.start()
print("Main thread")
Bu kod çıktı olarak:
1 1 Main Thread 2 2 3 3 4 4 5 5
veriyor. Neden her sayıyı 2 defa bastırıyor? Her sayıyı bir defa bastırması için ne yapmak gerekir? Ayrıca Fonksiyon dışındaki döngünün dönme sayısını arttırdım. Yani range içine 3 yazdım bu seferde sayıları 3 defa yazdırdı. Main thread yine bir defa yazdırdı ve çıktılar birbiriyle farklı oluyor. Mesela bir kere çalıştırdığımda 1 rakamlarının 2 tanesi yan yana yazılırken diğerinde 4 rakamlarının 2 tanesi yan yana yazılı. Bunun sebebi nedir?
Doğrudur hocam, ben tam olarak anlayamadım zaten ondan açtım. Bir de döngüsüz dener bakarım çıktıya. Bir de bu threadlerden bi sinyal alabilir miyiz? Atıyorum bu thread 4 değerini döndürdüğü zaman ben başka bir şey yapmasını istiyorum. Ya da elimde başka bir thread var onun başlamasını istiyorum. Mümkün mü bu?
Bu kod çıktı olarak:
veriyor. Neden her sayıyı 2 defa bastırıyor? Her sayıyı bir defa bastırması için ne yapmak gerekir?
Ayrıca Fonksiyon dışındaki döngünün dönme sayısını arttırdım. Yani range içine 3 yazdım bu seferde sayıları 3 defa yazdırdı. Main thread yine bir defa yazdırdı ve çıktılar birbiriyle farklı oluyor. Mesela bir kere çalıştırdığımda 1 rakamlarının 2 tanesi yan yana yazılırken diğerinde 4 rakamlarının 2 tanesi yan yana yazılı. Bunun sebebi nedir?