🚶♂️ Thread ile satır satır ilerleyen kod yerine karma ilerleyen kodlar yazılabilir.
📦 threading paketi kullanılır
Class
Açıklama
Thread
Sırasız olarak bir fonksiyonu çalıştırma
Timer
Belirli saniyelerde fonksiyonu çalıştırma
Scheduler
Bir plana göre fonksiyonu çalıştırma
📢 Python'da eş zamanlı işler multi-threading değil 🎎 Multiprocessing yapısı kullanılır.
🧱 Yapısı
import threading
def ela(fname, orig_dir, save_dir):
"""
Paremetreli bir fonksiyon
"""
pass
dirc = "Dizin"
for d in os.listdir(dirc):
if d.endswith(".jpg") or d.endswith(".jpeg"):
thread = threading.Thread(target=ela, args=[d, dirc, ela_dirc])
threads.append(thread)
thread.start()
# Join edilmez ise, arka planda çalışır, print yazısından sonra bitebiebilir
# Join edilirse threadlerin tamamlanmasını beklemiş oluruz.
for t in threads:
t.join()
print("Finished!")
💫 Tekrarlamalı
from time import sleep
from threading import Thread
def tekrarla(ne, bekleme):
while True:
print ne
sleep(bekleme)
if __name__ == '__main__':
dum = Thread(target = tekrarla, args = ("dum",1))
tis = Thread(target = tekrarla, args = ("tis",0.5))
ah = Thread(target = tekrarla, args = ("ah",3))
dum.start()
tis.start()
ah.start()
# dum
# tis
# ah
# tis
# dumtis
# tis
# dumtis
# tis
# ah
# tisdum