Rumah  >  Artikel  >  hujung hadapan web  >  Apakah benang javascript

Apakah benang javascript

青灯夜游
青灯夜游asal
2021-11-04 17:40:001634semak imbas

Javascript adalah satu benang. Sebagai bahasa skrip penyemak imbas, tujuan utama JavaScript adalah untuk berinteraksi dengan pengguna dan mengendalikan DOM ini menentukan bahawa ia hanya boleh menjadi satu utas, jika tidak, ia akan menyebabkan masalah penyegerakan yang sangat kompleks.

Apakah benang javascript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Apakah urutan JavaScript? kenapa?

Ciri utama bahasa JavaScript ialah ia berbenang tunggal, yang bermaksud ia hanya boleh melakukan satu perkara pada masa yang sama. Jadi mengapa JavaScript tidak boleh mempunyai berbilang benang? Ini boleh meningkatkan kecekapan.

Benang tunggal JavaScript adalah berkaitan dengan tujuannya. Sebagai bahasa skrip pelayar, tujuan utama JavaScript adalah untuk berinteraksi dengan pengguna dan memanipulasi DOM. Ini menentukan bahawa ia hanya boleh menjadi satu-benang, jika tidak, ia akan menyebabkan masalah penyegerakan yang sangat kompleks. Sebagai contoh, katakan JavaScript mempunyai dua utas pada masa yang sama Satu utas menambah kandungan pada nod DOM tertentu, dan utas lain memadamkan nod tersebut.

Jadi, untuk mengelakkan kerumitan, JavaScript telah menjadi satu utas sejak ia dilahirkan Ini telah menjadi ciri teras bahasa ini dan tidak akan berubah pada masa hadapan.
Untuk memanfaatkan kuasa pengkomputeran CPU berbilang teras, HTML5 mencadangkan standard Pekerja Web, yang membenarkan skrip JavaScript mencipta berbilang rangkaian, tetapi urutan anak dikawal sepenuhnya oleh utas utama dan mesti tidak mengendalikan DOM. Oleh itu, piawaian baharu ini tidak mengubah sifat berbenang tunggal JavaScript.

Proses dan Thread

1. Proses

Sesuatu proses merujuk kepada pelaksanaan program, yang menduduki ruang memori yang unik. Anda boleh melihat proses melalui Windows Task Manager (seperti yang ditunjukkan di bawah). Pada masa yang sama, sistem komputer yang sama membolehkan dua atau lebih proses berada dalam keadaan selari, iaitu pelbagai proses. Contohnya, komputer boleh menjalankan WeChat, QQ, dan pelbagai penyemak imbas pada masa yang sama. Sesetengah penyemak imbas berjalan dalam satu proses, seperti firefox dan versi lama IE, dan sesetengahnya dijalankan dalam berbilang proses, seperti chrome dan versi baharu IE.

2. Benang

Sesetengah proses boleh melakukan lebih daripada satu perkara pada masa yang sama, seperti Word, yang boleh melakukan penaipan, semakan ejaan, pencetakan dan perkara lain pada masa yang sama. Dalam proses, jika anda ingin melakukan berbilang perkara pada masa yang sama, anda perlu menjalankan berbilang "subtugas" pada masa yang sama Kami memanggil ini "subtugas" dalam urutan proses.
Thread merujuk kepada unit penjadualan asas CPU, proses lengkap pelaksanaan program dan unit pelaksanaan bebas dalam proses. Multithreading merujuk kepada mempunyai beberapa utas berjalan pada masa yang sama dalam proses. Pelayar menjalankan berbilang benang. Contohnya, anda boleh menggunakan penyemak imbas untuk memuat turun, mendengar lagu dan menonton video pada masa yang sama. Di samping itu, kita perlu tahu bahawa ciri utama bahasa JavaScript ialah satu utas Untuk memanfaatkan kuasa pengkomputeran CPU berbilang teras, HTML5 mencadangkan standard Pekerja Web. , yang membenarkan skrip JavaScript membuat berbilang urutan, tetapi urutan anak tertakluk sepenuhnya kepada kawalan utas utama dan tidak boleh memanipulasi DOM. Oleh itu, piawaian baharu ini tidak mengubah sifat berbenang tunggal JavaScript.

Memandangkan setiap proses perlu melakukan sekurang-kurangnya satu perkara, proses mempunyai sekurang-kurangnya satu urutan. Sudah tentu, proses yang kompleks seperti Word boleh mempunyai berbilang benang, dan berbilang benang boleh dilaksanakan pada masa yang sama Kaedah pelaksanaan berbilang benang adalah sama seperti berbilang proses Sistem pengendalian juga dengan cepat bertukar antara berbilang benang. membenarkan setiap Benang semua berjalan secara bergantian dan kelihatan dilaksanakan serentak. Sudah tentu, benar-benar melaksanakan berbilang benang secara serentak memerlukan CPU berbilang teras untuk dilakukan.

3. Proses dan utas

  • Aplikasi mesti dijalankan pada utas proses tertentu
  • Sekurang-kurangnya satu utas dalam proses Alur berjalan: utas utama, yang dicipta secara automatik selepas proses dimulakan
  • Jika berbilang utas berjalan dalam satu proses pada masa yang sama, maka atur cara adalah berbilang benang
  • ruang memori proses dikongsi, setiap utas boleh menggunakan kenangan bersama ini.
  • Data antara berbilang proses tidak boleh dikongsi secara langsung

4 Apakah kelebihan dan keburukan benang tunggal dan berbilang benang?

<.>

Kelebihan utas tunggal: Pengaturcaraan berurutan adalah mudah dan mudah difahami

Kelemahan utas tunggal: Kecekapan rendah

Kelebihan multi-threading: Boleh meningkatkan penggunaan CPU dengan berkesan

Kelemahan multi-threading:

    Overhed untuk mencipta multi-threading
  • Kelebihan menukar antara urutan
  • Isu kebuntuan dan penyegerakan status
[Pembelajaran yang disyorkan:

Tutorial lanjutan javascript]

Atas ialah kandungan terperinci Apakah benang javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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