Oleh kerana nod mempunyai ciri "didorong urus niaga" dan "I/O" tak segerak, ia merupakan operasi tak segerak yang tidak menyekat, untuk setiap permintaan serentak, pelayan mendaftarkan peristiwa penembakan untuk permintaan dan memberikan panggilan balik fungsi dalam urutan. Laksanakan pemprosesan acara, laksanakan fungsi panggil balik selepas pemprosesan selesai, dan kemudian laksanakan pemprosesan acara seterusnya, supaya nod boleh mencapai konkurensi tinggi.
Persekitaran pengendalian tutorial ini: sistem Windows 10, nodejs versi 12.19.0, komputer Dell G3.
Nodejs ialah operasi tak segerak yang tidak menyekat. Untuk setiap permintaan serentak, pelayan mendaftarkan peristiwa penembakan (I/O) untuk permintaan dan memberikan fungsi panggil balik (proses ini tidak menyekat permintaan sambungan baharu). Laksanakan pemprosesan peristiwa (I/O) mengikut turutan, laksanakan fungsi panggil balik selepas pemprosesan selesai, dan kemudian laksanakan pemprosesan peristiwa seterusnya (I/O).
Sebelum menerangkan sebab nod boleh mencapai konkurensi tinggi, anda juga mungkin memahami beberapa ciri lain nod:
Berbenang tunggal
Mari Mula-mula Untuk menjelaskan konsep, nod adalah berbenang tunggal, yang sama dengan ciri JavaScript dalam penyemak imbas, dan dalam nod, utas utama JavaScript dan utas lain (seperti utas I/O) tidak boleh berkongsi keadaan.
Kelebihan benang tunggal ialah:
Tidak perlu memberi perhatian kepada masalah penyegerakan keadaan antara benang seperti berbilang benang
Sebaliknya, prestasi nod adalah sangat tinggi. Salah satu sebabnya ialah nod mempunyai ciri I/O tak segerak Setiap kali permintaan I/O berlaku, nod akan menyediakan benang I/O untuk permintaan itu. Kemudian nod tidak akan mengambil berat tentang proses operasi I/O, tetapi akan terus melaksanakan acara pada utas utama Ia hanya perlu diproses apabila permintaan mengembalikan panggilan balik. Maksudnya, nod menjimatkan banyak masa menunggu permintaan.
Malah, bukan sahaja operasi I/O, kebanyakan operasi nod dilakukan dalam cara tak segerak ini. Ia seperti penganjur. Ia tidak perlu melakukan segala-galanya secara peribadi Ia hanya perlu memberitahu ahli cara untuk beroperasi dengan betul, menerima maklum balas, dan mengendalikan langkah-langkah penting, supaya seluruh pasukan boleh berjalan dengan cekap.
Didorong oleh transaksiAnda mungkin ingin bertanya lagi, bagaimana nod mengetahui bahawa permintaan telah mengembalikan panggilan balik dan bilakah ia harus mengendalikan panggilan balik ini?
Jawapannya ialah satu lagi ciri nod: pemacu transaksi, iaitu, utas utama menjalankan program melalui gelung peristiwa yang mencetuskan gelung peristiwa
Ini adalah satu lagi sebab penting mengapa nod menyokong konkurensi tinggi
Pembelajaran yang disyorkan: "
tutorial video nodejs
"Atas ialah kandungan terperinci Mengapa nod boleh mempunyai konkurensi yang tinggi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!