Rumah >hujung hadapan web >tutorial js >Analisis mendalam tentang I/O tidak menyekat dalam Node.js

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

青灯夜游
青灯夜游ke hadapan
2021-11-03 09:59:031874semak imbas

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);
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");
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");
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!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam