Advan – Threading di Python adalah teknik pemrograman yang memungkinkan Anda untuk menjalankan beberapa tugas secara bersamaan.
Hal ini dapat meningkatkan kinerja aplikasi Anda, terutama jika Anda memiliki tugas yang dapat dijalankan secara independen satu sama lain.
Python memiliki modul threading bawaan yang memudahkan untuk membuat dan mengelola thread. Dalam artikel ini, kita akan membahas dasar-dasar penggunaan threading di Python.
Membuat Thread
Untuk membuat thread baru, Anda perlu membuat objek threading Thread. Objek ini memiliki dua argumen yang diperlukan:
- target: Fungsi yang akan dijalankan oleh thread.
- args: Tuple argumen yang akan diteruskan ke fungsi target.
Berikut adalah contoh cara membuat thread baru:
import threading
def my_function(arg1, arg2):
print(f”Memanggil fungsi dengan argumen: {arg1}, {arg2}”)
thread = threading.Thread(target=my_function, args=(“arg1”, “arg2”))
Baca Juga: Menggunakan TensorFlow di Python, Ikuti Langkah-langkah Berikut
Memulai Thread
Setelah Anda membuat thread, Anda perlu memulainya dengan memanggil metode start. Metode ini akan memulai eksekusi fungsi target di thread baru.
thread.start()
Menunggu Thread Selesai
Anda dapat menggunakan metode join untuk menunggu thread selesai dieksekusi.
thread.join()
Sinkronisasi Thread
Saat menggunakan threading, penting untuk mempertimbangkan sinkronisasi thread.
Sinkronisasi diperlukan untuk memastikan bahwa thread tidak mengakses dan memodifikasi data yang sama secara bersamaan, yang dapat menyebabkan data yang rusak.
Python memiliki beberapa alat sinkronisasi bawaan, seperti kunci dan semaphore. Kunci memungkinkan Anda untuk mengunci bagian kode sehingga hanya satu thread yang dapat mengaksesnya pada satu waktu.
Semaphore memungkinkan Anda untuk membatasi jumlah thread yang dapat mengakses sumber daya tertentu secara bersamaan.
Contoh Penggunaan Threading
Berikut adalah contoh cara menggunakan threading untuk mengunduh beberapa file secara bersamaan:
import threading
import urllib.request
def download_file(url):
response = urllib.request.urlopen(url)
data = response.read()
with open(url.split(“/”)[-1], “wb”) as f:
f.write(data)
urls = [
“https://www.example.com/file1.zip”,
“https://www.example.com/file2.zip”,
“https://www.example.com/file3.zip”,
]
threads = []
for url in urls:
thread = threading.Thread(target=download_file, args=(url,))
threads.append(thread)
for thread in threads:
thread.start()
for thread in threads:
thread.join()
Baca Juga: Panduan Menggunakan NLP atau Natural Language Processing dengan Python
Threading, alat yang ampuh yang dapat digunakan untuk meningkatkan kinerja aplikasi Python Anda.
Namun, penting untuk menggunakan threading dengan hati-hati dan mempertimbangkan sinkronisasi thread untuk menghindari data yang rusak.
Siap Meningkatkan Produktivitas Anda dengan Laptop Ringkas dan Terjangkau? Bagi Anda yang mencari laptop ringkas dan terjangkau untuk kebutuhan komputasi sehari-hari, Advan Soulmate adalah pilihan yang tepat.
Laptop ini dilengkapi dengan prosesor Intel® Gemini Lake N4020 yang cukup bertenaga untuk menangani berbagai tugas, seperti browsing internet, mengerjakan dokumen, dan streaming video.***(muu)