Thread kullanarak iki işi aynı anda yapmak

num1 = 10
def islem1():
for i in range(num1, 0, -1):
time.sleep(1)
print(i, end = “\r”)
sys.stdout.flush()

islem()

bu sekilde 10-dan 1-e kadar olan sayilari ust-uste yazdiriyorum simdi benim yapmak istediyim su yukarda sayilar bir bir azaldikca onun bir altindaki satirda benim baska bir programim caliwsin fakat yukarda azalma islemi sonlanlanmasin …

1 Beğeni

Yanlış anlamadıysam siz verdiğiniz kodlar çalışırken alt satırda başka iş yapmak istiyorsunuz. Şöyle olabilir bu:

Fonk adında bir fonksiyon oluşturun. Bu fonksiyon sizin sayılardan bir alt satırda işlenecek kodları içersin. threading modülünün Thread sınıfından bir örnek oluşturun. target isimli parametresine kodlarınızda verdiğiniz islem1 fonksiyonunu verin. Ardından aynı işlemi fonk fonksiyonu için de yapın. Son olarak islem1 fonksiyonunu parametre olarak verdiğiniz Thread nesnesinin start metodunu çağırın. Fonk fonksiyonununkini de çağırdığınızda istediğinizi elde edebilirsiniz.

Sorun olursa kod olarak paylaşabilirim. Kolay gelsin :slight_smile:

1 Beğeni

Öncelikle gönderinizi paylaşmadan önce kodların girintili bir şekilde göründüğünden emin olmanızı şiddetle tavsiye ederim. Python girintilemeye bağlı bir dil olduğu için bu çok önemli. Şu an görünen kodlarınız girintilenmediği için hatalı. Ki biz doğru girintilemeyi tahmin edebilsek bile kodun okunabilirliği çok az olduğu için bunu yapmak güç.

Bahsettiğiniz işlem için farklı thread’lere ihtiyacınız yok. Zaten farklı thread de kullansanız yapmanız gereken şey değişmez. Öncelikle bunu neden yapmak istediğinizi sorayım. Pek uygun bir yol değil çünkü. Başka bir program çalışacaksa başka bir terminal açmanız daha uygun olur. Ya da bir GUI kütüphanesi kullanın.