Şimdi Ara

Threading kavramı örnek kod

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
128
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj

  • 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?







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

    < Bu ileti mini sürüm kullanılarak atıldı >
  • alimmm78 kullanıcısına yanıt
    Sanırım 2 tane thread oluşturmak için. Kodu ben yazmadım bir yerden buldum ama nerden bulduğumu hatırlamıyorum.
  • grandout kullanıcısına yanıt
    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ı >
  • alimmm78 kullanıcısına yanıt
    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?
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.