Oleh kerana proses ini adalah operasi CPU tinggi dan memori tinggi, bukan operasi IO cakera tinggi Dengan kata lain, proses ini menguji prestasi CPU. Dan kita tahu bahawa komputer tidak mempunyai pelbagai proses sebenar atau berbilang benang, semuanya disimulasikan melalui penjadualan CPU. Oleh itu, untuk operasi CPU tinggi, lebih baik menggunakan kaedah proses tunggal atau benang tunggal (berbilang teras boleh dianggap sebagai kaedah yang paling cekap, kerana ia mengelakkan penggunaan yang disebabkan oleh beralih ke belakang dan sebagainya). antara benang atau proses.
Anda boleh merujuk kepada seni bina Nginx untuk ini Beban tinggi Nginx juga diselesaikan dalam satu proses.
Berbilang benang CPython bukan berbilang benang "sebenar" (lihat GIL untuk butiran Jika anda tidak menukar bahasa, penyelesaiannya adalah dengan berbilang proses, dengan pengimbang beban (haproxy dan seumpamanya) dalam). hadapan.
Terdapat berbilang model untuk mengendalikan sambungan serentak. Multithreading ialah satu jenis, dan pemultipleksan I/O + tidak menyekat yang diwakili oleh epoll juga merupakan satu jenis. Selagi ia digunakan dengan betul, baca/tulis selepas sambungan baharu masuk tidak akan menyekat walaupun untuk tempoh masa yang kecil.
Pemandu veteran pada tahun-tahun awal telah membaca Dan Kegel's The C10K Problem, yang menerangkan pelbagai model pemprosesan serentak. Jika bahasa Inggeris anda boleh dikuasai, saya masih mengesyorkan anda membacanya. Oh, dengan cara ini, jika anda mempelajari konsep yang tidak melibatkan pelbagai peningkatan teknikal yang dibuat dalam sistem sebenar untuk mengendalikan konkurensi yang besar, maka "Pengaturcaraan Rangkaian Unix" Richard Stevens menerangkannya dengan lebih jelas, dan terjemahan bahasa Cina juga lebih mudah untuk baca .
Oleh kerana proses ini adalah operasi CPU tinggi dan memori tinggi, bukan operasi IO cakera tinggi Dengan kata lain, proses ini menguji prestasi CPU. Dan kita tahu bahawa komputer tidak mempunyai pelbagai proses sebenar atau berbilang benang, semuanya disimulasikan melalui penjadualan CPU. Oleh itu, untuk operasi CPU tinggi, lebih baik menggunakan kaedah proses tunggal atau benang tunggal (berbilang teras boleh dianggap sebagai kaedah yang paling cekap, kerana ia mengelakkan penggunaan yang disebabkan oleh beralih ke belakang dan sebagainya). antara benang atau proses.
Anda boleh merujuk kepada seni bina Nginx untuk ini Beban tinggi Nginx juga diselesaikan dalam satu proses.
Berbilang benang CPython bukan berbilang benang "sebenar" (lihat GIL untuk butiran Jika anda tidak menukar bahasa, penyelesaiannya adalah dengan berbilang proses, dengan pengimbang beban (haproxy dan seumpamanya) dalam). hadapan.
Terdapat berbilang model untuk mengendalikan sambungan serentak. Multithreading ialah satu jenis, dan pemultipleksan I/O + tidak menyekat yang diwakili oleh epoll juga merupakan satu jenis. Selagi ia digunakan dengan betul, baca/tulis selepas sambungan baharu masuk tidak akan menyekat walaupun untuk tempoh masa yang kecil.
Pemandu veteran pada tahun-tahun awal telah membaca Dan Kegel's The C10K Problem, yang menerangkan pelbagai model pemprosesan serentak. Jika bahasa Inggeris anda boleh dikuasai, saya masih mengesyorkan anda membacanya. Oh, dengan cara ini, jika anda mempelajari konsep yang tidak melibatkan pelbagai peningkatan teknikal yang dibuat dalam sistem sebenar untuk mengendalikan konkurensi yang besar, maka "Pengaturcaraan Rangkaian Unix" Richard Stevens menerangkannya dengan lebih jelas, dan terjemahan bahasa Cina juga lebih mudah untuk baca .