Threading Dengan Python: Pelajari Cara Bekerja Dengan Thread Dengan Python



Artikel tentang Threading dengan Python ini akan memberi tahu Anda apa itu Thread, jenisnya, cara memulainya, dan memanfaatkannya dengan cara terbaik.

Hari ini, adalah salah satu bahasa pemrograman yang paling disukai di seluruh dunia. Sejak dimulainya pada tahun 1990-an, ia telah mengumpulkan banyak pengikut dan penggemar serta pembuat kode yang bekerja setiap hari untuk membuat bahasa pemrograman ini lebih baik. Di antara banyak fitur bawaan di ekosistem Python, salah satu yang paling menonjol adalah Threading. Oleh karena itu dalam artikel ini, kita akan membahas semua tentang Threading dengan Python, bagaimana Anda dapat memanfaatkannya beserta kelebihan dan kekurangannya.

Petunjuk berikut akan dibahas dalam artikel ini,





Mari kita mulai

Threading Dengan Python

Apa itu Thread dengan Python?

Sebuah utas dengan Python dapat didefinisikan sebagai aliran eksekusi terpisah. Artinya, dalam program Anda, dua proses berbeda akan dieksekusi dalam waktu yang sama. Salah satu aspek menarik dari threading dengan Python adalah kenyataan bahwa, setelah versi 3 beberapa utas dengan Python tidak dijalankan pada saat yang sama, tetapi mereka hanya tampak begitu saja.



Meskipun ini adalah perasaan yang luar biasa untuk menjalankan dua proses berbeda pada saat yang sama, kita perlu memahami bahwa versi Python 3 dan yang lebih baru dikodekan sedemikian rupa, bahwa hanya proses yang dapat dijalankan pada suatu titik waktu tertentu. Namun jika Anda perlu dua atau lebih proses secara bersamaan di CPython, Anda perlu mengkodekan beberapa kode Anda dalam bahasa lain juga, seperti C, C ++ dan Java, dan kemudian menjalankannya melalui multi threading dengan Python.

Salah satu keuntungan paling terkenal dari threading dengan Python adalah kemampuannya untuk memberikan keuntungan dalam kejelasan desain.

Sebelum itu kita memiliki beberapa ide tentang Threading dengan Python, mari kita pahami bagaimana memulai sebuah thread,



Memulai Thread dengan Python

Sekarang setelah Anda terbiasa dengan definisi utas dengan Python, mari kita lihat contoh bagaimana Anda dapat membuat utas Anda sendiri dengan Python. Untuk membuat utas dengan Python, Anda harus mengimpor pustaka utas terlebih dahulu dan kemudian memerintahkannya untuk memulai () seperti yang ditunjukkan pada contoh di bawah ini:

impor logging impor threading waktu impor def thread_function (nama): logging.info ('Thread% s: mulai', nama) time.sleep (2) logging.info ('Thread% s: finishing', name) if __name__ == '__main__': format = '% (asctime) s:% (pesan) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') logging.info ( 'Main & ampampampnbsp & ampampampnbsp: before membuat utas') x = threading.Thread (target = thread_function, args = (1,)) logging.info ('Main & ampampampnbsp & ampampampnbsp: before running thread') x.start () logging.info ('Main & ampampampnbsp & ampampampnbsp: tunggu hingga utas selesai ') # x.join () logging.info (' Main & ampampampnbsp & ampampampnbsp: semua selesai ')

Keluaran

Output - Threading Dengan Python - Edureka

Saat menjalankan utas dengan Python, Anda meneruskannya sebagai fungsi yang berisi daftar argumen yang perlu dieksekusi. Dalam contoh yang dibagikan di atas, Anda menginstruksikan Python untuk menjalankan utas, thread_function () dan meneruskannya ke 1 sebagai argumen.

java util logging logger contoh

Ketika Anda menjalankan program di atas, hasilnya akan terlihat seperti ini.

Bagian selanjutnya dari artikel ini tentang 'Mengulir dengan Python' mari kita lihat apa itu untaian daemon,

Apa itu Daemon Threads?

Dalam terminologi teknis, daemon dapat didefinisikan sebagai proses yang berjalan di latar belakang. Namun, dalam Python, untaian daemon memiliki arti yang sangat spesifik. Dalam Python, sebuah daemon thread akan mati saat program keluar, meskipun dalam bahasa pemrograman lain itu akan terus berjalan di latar belakang. Jika dalam program tertentu, sebuah utas tidak diprogram sebagai utas daemon, maka interpreter akan menunggunya menyelesaikan operasinya dan kemudian hanya mematikan interpreter.

Untuk memahami konsep ini lebih baik lihat contoh di atas. Pada baris kedua terakhir, program menunggu beberapa detik setelah menyelesaikan semua tugasnya. Ini karena ia sedang menunggu thread non-daemonic menyelesaikan operasinya dan kemudian keluar dari antarmuka. Setelah utas menyelesaikan operasinya, maka hanya program yang keluar.

Sekarang mari kita ubah program di atas dan lihat apa yang terjadi, jika kita memasukkan untaian daemon ke dalam kode.

Kode baru: x = threading.Thread (target = thread_function, args = (1,), daemon = True)

Ketika Anda menjalankan program di atas dengan modifikasi yang dilakukan, akan terlihat seperti ini.

Perbedaan antara kedua keluaran ini adalah bahwa baris terakhir hilang dari yang terbaru. Thread_function () tidak mendapat kesempatan untuk menyelesaikan, karena kita memasukkan utas daemon dan begitu mencapai akhir, ia keluar dari program.

Bergabung dengan Thread

Sekarang Anda telah mempelajari tentang konsep membuat utas dengan Python, bersama dengan konsep utas daemonik, mari kita temukan bagaimana Anda dapat menggabungkan utas dengan Python.

Dengan menggunakan fungsi join () dalam Python, Anda dapat menggabungkan dua thread berbeda, dan juga menginstruksikan satu untuk menunggu yang lain sampai menyelesaikan eksekusinya. Fitur ini sering kali berguna saat Anda membuat kode aplikasi besar dan Anda memerlukan semua proses untuk dijalankan dalam urutan tertentu

Bagian terakhir dari artikel ini tentang 'Threading in Python' akan menunjukkan kepada Anda cara kerja Multiple Threads,

Bekerja dengan Banyak Untaian

Dalam contoh di atas, kami telah berbicara tentang bagaimana Anda dapat bekerja dengan dua utas sekaligus. Tetapi bagaimana jika dalam situasi tertentu, Anda perlu bekerja dengan banyak utas secara bersamaan. Untuk pemahaman yang lebih baik tentang situasinya, lihat contoh di bawah ini.

impor logging impor threading waktu impor def thread_function (nama): logging.info ('Thread% s: mulai', nama) time.sleep (2) logging.info ('Thread% s: finishing', name) if __name__ == '__main__': format = '% (asctime) s:% (pesan) s' logging.basicConfig (format = format, level = logging.INFO, datefmt = '% H:% M:% S') threads = list ( ) untuk indeks dalam rentang (3): logging.info ('Main & ampampampnbsp & ampampampnbsp: buat dan mulai utas% d.', indeks) x = threading.Thread (target = thread_function, args = (index,)) threads.append (x ) x.start () untuk indeks, utas dalam menghitung (utas): logging.info ('Utama & ampampampnbsp & ampampampnbsp: sebelum bergabung dengan utas% d.', indeks) thread.join () logging.info ('Utama & ampampampnbsp & ampampampnbsp: utas% d selesai ', indeks)

Keluaran

Dalam program di atas kami telah mengikuti prosedur yang sama untuk mengimpor pustaka utas, memulai utas, membuat beberapa utas dan kemudian menggunakan fungsi join () untuk menggabungkan semuanya dan dieksekusi dalam urutan tertentu.

Ketika Anda menjalankan program di atas, hasilnya akan terlihat seperti ini.

Kesimpulan

Ini adalah salah satu fitur Python yang paling berguna. Dengan menggunakannya dengan cara yang benar, Anda dapat membuat seluruh proses pengkodean Anda jauh lebih mudah dan efisien. Dari artikel di atas kami berharap Anda telah mempelajari dasar-dasar threading dan akan terus menggunakannya dalam pemrograman sehari-hari.

Jadi ini dia teman-teman saya harap Anda menyukai artikel ini.

Untuk mendapatkan pengetahuan mendalam tentang Python beserta berbagai aplikasinya, Anda bisa untuk pelatihan online langsung dengan dukungan 24/7 dan akses seumur hidup.

Ada pertanyaan untuk kami? Sebutkan mereka di bagian komentar artikel ini dan kami akan menghubungi Anda kembali.