Rumah  >  Artikel  >  rangka kerja php  >  Mengapakah coroutine swoole berbenang tunggal?

Mengapakah coroutine swoole berbenang tunggal?

WBOY
WBOYasal
2022-03-14 15:46:012588semak imbas

Dalam swoole, kerana pensuisan coroutine adalah bersiri, hanya satu coroutine boleh dijalankan pada masa yang sama Apabila satu coroutine sedang berjalan, coroutine lain akan berhenti berfungsi, jadi coroutine swoole Proses ini berdasarkan satu utas. .

Mengapakah coroutine swoole berbenang tunggal?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Swoole 4, komputer DELL G3

Mengapa coroutine swoole berbenang tunggal

Ringkasnya, coroutine ialah utas ringan yang bekerjasama dengan sejajar yang lebih ringan yang dilaksanakan oleh pengaturcara yang dihoskan dalam utas

Apabila bilangan pengaturcara meningkat, orang besar terus meletup, sudah tentu, sesetengah orang mula berfikir bahawa benang tidak mudah digunakan, jadi apa yang perlu kita lakukan Sudah tentu, berdasarkan konsep benang, kita akan melaksanakan satu set benang ringan yang lebih ringan dan lebih baik untuk menipu bintang (sebenarnya, coroutine tidak boleh? Dianggap sepenuhnya sebagai benang, kerana benang boleh mempunyai berbilang coroutine)

Perbezaan antara coroutine dan benang

Essence

Keadaan kernel benang

Mod pengguna Coroutine

Kaedah penjadualan

Kaedah penjadualan urutan ialah penjadualan sistem Strategi penjadualan yang biasa digunakan termasuk penjadualan perkongsian masa dan penjadualan awalan. Secara terang-terangan, penjadualan urutan adalah di luar kawalan anda sepenuhnya

Kaedah penjadualan coroutine ialah penjadualan kolaboratif dan tidak dikawal oleh kernel dan ditukar oleh penjadualan dasar percuma

Sebagaimana disebutkan di atas, coroutine berada dalam mod pengguna Jadi apa yang dipanggil penjadualan kolaboratif boleh difahami secara langsung sebagai kaedah penjadualan yang ditulis oleh pengaturcara, iaitu, saya boleh menjadualkan bagaimana saya mahu tanpa dijadualkan melalui kernel sistem.

Pemahaman ringkas tentang coroutine swoole

Memandangkan kami merancang untuk memahami secara ringkas tentang coroutine swoole, kami mesti mengetahui model coroutine swoole.

Coroutine Swoole adalah berdasarkan satu utas. Dapat difahami bahawa penukaran coroutine adalah bersiri, dan hanya satu coroutine yang dijalankan pada masa yang sama

Coroutine Swoole adalah satu thread dalam pelaksanaan asas, jadi hanya terdapat satu coroutine yang berjalan pada masa yang sama. masa. Kerja, pelaksanaan coroutine adalah bersiri. Ini berbeza daripada urutan berbilang akan dijadualkan oleh sistem pengendalian kepada berbilang CPU untuk pelaksanaan selari.

Semasa satu coroutine sedang berjalan, coroutine lain akan berhenti berfungsi. Coroutine semasa akan tergantung apabila melakukan operasi menyekat IO dan penjadual asas akan memasuki gelung acara. Apabila peristiwa penyiapan IO berlaku, penjadual asas menyambung semula pelaksanaan coroutine yang sepadan dengan acara tersebut.

Penggunaan berbilang teras CPU masih bergantung pada mekanisme berbilang proses enjin Swoole.

Pembelajaran yang disyorkan: tutorial swole

Atas ialah kandungan terperinci Mengapakah coroutine swoole berbenang tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn