Adakah Python bagus untuk konkurensi?
Adakah Python bagus untuk konkurensi?

Video: Adakah Python bagus untuk konkurensi?

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

Ular sawa bukan sangat baik untuk terikat CPU serentak pengaturcaraan. GIL akan (dalam banyak kes) menjadikan program anda berjalan seolah-olah ia berjalan pada teras tunggal - atau lebih teruk lagi. Jika permohonan anda terikat I/O, Ular sawa mungkin penyelesaian yang serius kerana GIL biasanya dikeluarkan semasa melakukan panggilan menyekat.

Juga perlu diketahui, adakah Python menyokong konkurensi?

Python lakukan mempunyai perpustakaan terbina dalam untuk yang paling biasa serentak binaan pengaturcaraan - multiprocessing dan multithreading. Sebabnya, multithreading masuk Ular sawa tidak benar-benar multithreading, kerana GIL masuk Ular sawa.

Seseorang juga mungkin bertanya, mengapa multithreading tidak boleh dilakukan dalam python? Jurubahasa CPython (untuk tulen Ular sawa kod) akan memaksa GIL dikeluarkan setiap arahan kod seratus bait. Ia hanya membenarkan satu utas berjalan sekali gus dalam penterjemah. Jadi berbilang pemprosesan bukan multithreading akan membolehkan anda mencapai keselarasan sebenar.

Seterusnya, persoalannya ialah, adakah Python bagus untuk multithreading?

Ular sawa tidak mengizinkan pelbagai benang dalam erti kata yang sebenar. Ia mempunyai a pelbagai benang pakej tetapi jika anda mahu berbilang benang untuk mempercepatkan kod anda, maka ia biasanya bukan a baik idea untuk menggunakannya. Ular sawa mempunyai binaan yang dipanggil Global Interpreter Lock (GIL).

Modul manakah yang boleh digunakan untuk melaksanakan konkurensi dalam Python 3?

The serentak . niaga hadapan modul telah ditambah dalam Ular sawa 3.2. Mengikut Ular sawa dokumentasi ia menyediakan pembangun dengan antara muka peringkat tinggi untuk melaksanakan panggilan boleh panggil secara tak segerak.

Disyorkan: