Thread ile satır satır ilerleyen kod yerine karma ilerleyen kodlar yazılabilir.
threading modülü kullanılır
Eş zamanlı işlemler için tercih edilir
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
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!")
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