Tutorial Multithreading Pada Python

 


Qodingan.com, Jakarta - Apa itu multithreading? multithreading adalah menjalankan dua atau lebih tugas secara bersamaan dengan memanfaatkan processor yang ada pada komputer kamu. Ibaratkan kamu memiliki dua atau lebih pekerja pada program kamu, sehingga dapat selesai lebih cepat.

Namun perlu diperhatikan juga resource komputer kamu, jangan sampai ketika jobnya berat dan kamu menggunakan thread terlalu banyak, sehingga dapat menghabiskan ruang CPU dan memori.

Mari kita langsung praktek saja. Dibawah ini merupakan sebuah program yang berjalan tanpa menggunakan multithreading.

import time

Jobs = ["job 1", "job 2", "job 3"]

def task(str):
    time.sleep(2)
    print(str)

for job in Jobs:
    task(job)
    
print("done.")

Pada program diatas, kita memberikan waktu tunggu selama dua detik. Hasilnya adalah sebagai berikut :

job 1
job 2
job 3
done.

Terlihat bahwa program kita berjalan secara simultan. Bayangkan ketika tiap job memiliki waktu eksekusi selama 5 menit, maka total waktu eksekusi akan memakan waktu 15 menit.

Mari kita gunakan multithreading :

import threading, time

Jobs = ["job 1", "job 2", "job 3"]

def task(str):
    time.sleep(2)
    print(str)

thread = []
for job in Jobs:
    t = threading.Thread(target=task,args=(job,))
    t.start()
    thread.append(t)

for t in thread:
    t.join()

print("done.")
Hasilnya sebagai berikut :

job 2
job 1
job 3
done.

Diatas kita import modul threading untuk mengimplemen multithreading pada program kita. Kemudian function dideklarasikan pada "target" dan parameternya dideklarasikan pada "args" (jangan lupa paling akhir ditambahin koma juga). Join() adalah fungsi untuk menunggu thread sampai selesai mengerjakan tugas sebelum program dihentikan.

Pada hasilnya terlihat job 2 dieksekusi terlebih dahulu sebelum yang lainnya dan hanya memakan waktu 2 detik, dibandingkan sebelumnya tanpa menggunakan multithreading memakan waktu 6 detik. Cukup signifikan bukan?

Silahkan jika ada yang mau ditanyakan, boleh bertanya via komen dibawah.

Baca juga : Tips Untuk Menjadi Data Engineer


0 Response to "Tutorial Multithreading Pada Python"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel