Rumah > Artikel > rangka kerja php > Adakah coroutine swoole tergolong dalam proses atau benang?
Swoole coroutine tergolong dalam benang. Coroutines dilaksanakan dalam utas Coroutines adalah utas ringan Pelaksanaan asas coroutine Swoole adalah satu coroutine yang berfungsi pada masa yang sama, dan utas akan dijadualkan oleh sistem pengendalian untuk berbilang CPU.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Swoole 4, komputer DELL G3
Apakah itu proses?
Proses ialah program yang dijalankan dalam sistem Setelah program berjalan, ia adalah satu proses.
Sesuatu proses boleh dilihat sebagai contoh pelaksanaan program.
Teg: Satu proses tidak boleh mengakses pembolehubah dan struktur data proses lain Jika anda mahu satu proses mengakses sumber proses lain, anda perlu menggunakan komunikasi antara proses, seperti paip, fail, soket. , dsb.
Apakah benang?
Thread tergolong dalam proses dan merupakan pelaksana program.
Sesuatu proses mengandungi sekurang-kurangnya satu utas utama dan juga boleh mempunyai lebih banyak sub-utas Setiap utas menggunakan ruang tindanan proses yang menjadi miliknya.
Benang ialah entiti proses dan laluan pelaksanaan proses tersebut.
Teg: Berbilang rangkaian dalam proses yang sama akan berkongsi sebahagian daripada keadaan dan berbilang rangkaian boleh membaca dan menulis memori yang sama.
Apakah itu coroutine?
Coroutine secara relatifnya adalah mekanisme penjadualan tertentu dalam program; . Operasi, penggunaan adalah sangat rendah.
Coroutine tergolong dalam thread dan coroutine dilaksanakan dalam thread.
Penjadualan coroutine ditukar secara manual oleh pengguna, jadi ia juga dipanggil urutan ruang pengguna.
Strategi penjadualan coroutine ialah: penjadualan kolaboratif.
Perbezaan antara coroutine dan thread:Coroutine Swoole adalah satu-thread dalam pelaksanaan asas, jadi hanya terdapat satu coroutine yang berfungsi pada masa yang sama 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.
Senario terpakai untuk coroutine:Perkhidmatan konkurensi tinggi, seperti sistem jualan kilat, antara muka API berprestasi tinggi, pelayan RPC, menggunakan mod coroutine, kadar toleransi kesalahan perkhidmatan akan meningkat Sangat meningkat, apabila beberapa antara muka gagal, keseluruhan perkhidmatan tidak akan runtuh.
Crawler boleh mencapai keupayaan serentak yang sangat besar dan boleh menggunakan lebar jalur dengan cekap walaupun dalam persekitaran rangkaian yang sangat perlahan.
Perkhidmatan pemesejan segera, seperti sembang IM, pelayan permainan, Internet of Things, pelayan mesej, dsb., boleh memastikan komunikasi mesej tidak disekat sepenuhnya dan setiap paket mesej boleh diproses serta-merta.
Pembelajaran yang disyorkan:
tutorial swoleAtas ialah kandungan terperinci Adakah coroutine swoole tergolong dalam proses atau benang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!