Coroutine swoole ialah benang yang lebih ringan Satu rangkaian boleh mempunyai berbilang coroutine dilaksanakan dalam utas dan digunakan terutamanya untuk menukar sumber daya saing dalam rangkaian menjadi operasi kolaboratif.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Swoole 4, komputer DELL G3
Mula-mula, mari kita bincangkan tentang coroutine dan fahami kegunaannya dan apakah ciri-cirinya
Coroutine ialah kewujudan yang lebih ringan daripada benang Sama seperti proses boleh mempunyai berbilang benang Suka, benang boleh ada berbilang coroutine. Coroutines mempunyai ciri-ciri berikut
Pelaksanaan mod pengguna, yang dikawal sepenuhnya oleh program dan tidak diuruskan oleh kernel sistem pengendalian
Berkenaan Untuk memproses tugas intensif IO, saya tidak akan memperkenalkan secara terperinci apakah tugas intensif IO di sini Perbezaan utama ialah tugas intensif CPU
menukar sumber bersaing dalam rangkaian. Operasi kolaboratif
Komunikasi antara coroutine
Sejumlah kecil penukaran konteks overhed, terutamanya dijalankan pada benang , sebaliknya, penukaran konteks bagi proses disimpan dalam sumber tindanan, manakala coroutine adalah tidak segerak dan tidak menyekat, yang bersamaan dengan tugas baris gilir dalam urutan mod pengguna Ia hanya perlu menggunakan saluran sebagai panggilan balik, dan tidak perlu menunggu dua kali selepas tugasan selesai , pemusnahan dan penukaran adalah sangat rendah, tidak seperti benang Coroutines tidak boleh memanfaatkan CPU berbilang teras Jika anda ingin memanfaatkan CPU berbilang teras, anda perlu bergantung pada model berbilang proses Swoole.
Apabila bilangan pengaturcara meningkat, bos Ia juga terus berkembang dengan pesat orang mula berfikir bahawa benang tidak mudah digunakan, jadi apa yang harus kita lakukan Sudah tentu, berdasarkan konsep benang, kita akan melaksanakan satu set benang ringan yang lebih ringan dan lebih baik untuk menipu bintang ( Malah, coroutines? tidak boleh dianggap sebagai benang sepenuhnya, kerana benang boleh mempunyai berbilang coroutine)
Perbezaan antara coroutine dan benangEssenceKeadaan kernel benang
Keadaan 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
Disyorkan pembelajaran:
tutorial swoleAtas ialah kandungan terperinci Apakah maksud swoole coroutine?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!