Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
144
Tıklama
0
Öne Çıkarma
Threading kavramı örnek kod
G
5 yıl
Yüzbaşı
Konu Sahibi


import threading
import time

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?



A
5 yıl
Yarbay

İn range(2) yi neden yazdınız



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
G
5 yıl
Yüzbaşı
Konu Sahibi

Sanırım 2 tane thread oluşturmak için. Kodu ben yazmadım bir yerden buldum ama nerden bulduğumu hatırlamıyorum.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @alimmm78
A
5 yıl
Yarbay

2 kere aynı şeyi yapıyorsunuz, 2 kere çıktı vermesinden daha normal bi şey var mı
soruyu yanlış mı anladım acaba



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @grandout
G
5 yıl
Yüzbaşı
Konu Sahibi

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 mesajda bahsedilenler: @alimmm78
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.