Apakah Python bagus untuk konkurensi?
Apakah Python bagus untuk konkurensi?

Video: Apakah Python bagus untuk konkurensi?

Video: Apakah Python bagus untuk konkurensi?
Video: Terbaik untuk dipilihkah, Python atau Golang? 2024, Mungkin
Anonim

Python tidak terlalu bagus untuk CPU-terikat bersamaan pemrograman. GIL akan (dalam banyak kasus) membuat program Anda berjalan seolah-olah dijalankan pada satu inti - atau bahkan lebih buruk. Jika aplikasi Anda terikat I/O, Python mungkin merupakan solusi serius karena GIL biasanya dilepaskan saat melakukan panggilan pemblokiran.

Yang juga perlu diketahui adalah, apakah Python mendukung konkurensi?

Python melakukannya memiliki perpustakaan bawaan untuk yang paling umum bersamaan konstruksi pemrograman - multiprocessing dan multithreading. Alasannya adalah, multithreading di Python tidak benar-benar multithreading, karena GIL masuk Python.

Orang mungkin juga bertanya, mengapa multithreading tidak dimungkinkan dengan python? Penerjemah CPython (untuk murni Python code) akan memaksa GIL untuk dirilis setiap instruksi kode seratus byte. Ini hanya memungkinkan satu utas untuk berjalan sekaligus di dalam juru bahasa. Jadi multiproses bukan multithreading akan memungkinkan Anda untuk mencapai konkurensi yang sebenarnya.

Selanjutnya, pertanyaannya adalah, apakah Python bagus untuk multithreading?

Python tidak mengizinkan multi-threading dalam arti kata yang sebenarnya. Ini memiliki multi-threading paket tetapi jika Anda ingin multi-utas untuk mempercepat kode Anda, maka biasanya tidak bagus ide untuk menggunakannya. Python memiliki konstruksi yang disebut Global Interpreter Lock (GIL).

Modul mana yang dapat digunakan untuk mengimplementasikan konkurensi di Python 3?

NS bersamaan . masa depan modul telah ditambahkan di Python 3.2. Menurut Python dokumentasi itu menyediakan pengembang dengan antarmuka tingkat tinggi untuk mengeksekusi callable secara asinkron.

Direkomendasikan: