Analisis mendalam tentang I/O tidak menyekat dalam Node.js

青灯夜游
Lepaskan: 2021-11-03 19:19:10
ke hadapan
1808 orang telah melayarinya

Artikel ini akan memperkenalkan anda kepada I/O yang tidak menyekat dalam Node.js Saya harap ia akan membantu anda!

Analisis mendalam tentang I/O tidak menyekat dalam Node.js

Cara memahami I/O yang tidak menyekat NodeJs

1 🎜>Input /output merujuk kepada input dan output sistem

2 Perbezaan utama antara tidak menyekat dan menyekat ialah: Dalam proses antara menerima input dan output hasil, Bolehkah anda terus menerima input lain? [Pembelajaran yang disyorkan: "tutorial nodejs"]

Contoh:

Contohnya: Keluar makan

Biasanya ada dua cara untuk keluar makan:

1 Pergi ke kantin: beratur untuk makan

  • [ beratur] - [tunggu orang di hadapan] Seseorang memasak] - [Masak untuk diri sendiri] - [Makan]

2 Pergi ke restoran untuk makan

  • [Duduk] - [Pesan makanan ] - [Menunggu] - [Makan]

Untuk dua cara pemakanan ini:

  • 1 Makan di kantin: Bagi mereka yang menghidangkan makanan Secara umumnya, anda perlu menunggu sehingga orang sebelumnya selesai makan sebelum anda boleh memesan hidangan orang seterusnya Proses ini adalah mod menyekat

  • 2 Makan di restoran: Pergi ke restoran untuk makan, dan pelayan akan menyelesaikan pesanan anda Selepas makan, terus mengendalikan keperluan pesanan orang seterusnya Apabila hidangan anda sudah siap, makanan akan dihantar kepada anda. Bagi pelayan, proses ini adalah proses tanpa sekatan


Fahami perkara utama I/O tanpa sekatan

  • 1 Tentukan

    untuk melaksanakan Sistem operasi I/O , contohnya: dalam contoh memasak di atas, sistem yang melaksanakan I/O ialah kakitangan perkhidmatan.

  • 2

    Bolehkah I/O lain dilakukan semasa sistem menjalankan operasi I/O

Demonstrasi Kod

Dalam kod sampel kami telah memperkenalkan perpustakaan

glob, yang digunakan terutamanya untuk mencari keadaan padanan fail. Untuk butiran, sila lihat https://www.npmjs.com/package/glob

Pertama, kami menggunakan kaedah penyegerakan yang disediakan oleh glob untuk membaca fail

    const glob = require("glob");
    let result = null;
    result = glob.sync(__dirname + "/**/*");
    console.log(result);
Salin selepas log masuk
Hasilnya ialah a

Susun atur fail:

Analisis mendalam tentang I/O tidak menyekat dalam Node.js

Mari kita lihat masa pelaksanaan operasi penyegerakan ini:

    const glob = require("glob");

    let result = null;
    console.time("glob");
    result = glob.sync(__dirname + "/**/*");
    console.timeEnd("glob");
Salin selepas log masuk
Hasil:

Analisis mendalam tentang I/O tidak menyekat dalam Node.js

Kendalian membaca fail akan menyekat proses selama 33 milisaat, yang tidak boleh diterima!

Seterusnya, kami menggunakan kaedah tak segerak untuk membaca fail

    let result2 = null;
    console.time("glob2");
    glob(__dirname + "/**/*", (err, res) => {
      console.log("glob over");
    });
    console.timeEnd("glob2");
Salin selepas log masuk
Keputusan:

Analisis mendalam tentang I/O tidak menyekat dalam Node.js

Ia mengambil masa sebanyak 4 milisaat untuk membaca fail secara tidak segerak, dan kami juga boleh melakukan operasi lain semasa membaca fail secara tidak segerak.

Kesimpulan

Selepas belajar, saya percaya semua orang mempunyai pemahaman yang lebih mendalam tentang I/O tidak menyekat, jadi jumpa lagi di lain kali. Belajar bersungguh-sungguh dan buat kemajuan setiap hari!

Analisis mendalam tentang I/O tidak menyekat dalam Node.js

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:

Video Pengaturcaraan! !

Atas ialah kandungan terperinci Analisis mendalam tentang I/O tidak menyekat dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan