javascript เป็น single thread ไม่ใช่ multi-thread

พูดคุยแลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework jQuery และ Node.JS รวมถึง Framework Express ของ Node.JS ทำงานฝั่ง Server

Moderator: mindphp

ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

javascript เป็น single thread ไม่ใช่ multi-thread

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

ถ้าใช้ .net สามารถสั่งให้ thread ปัจจุบัน หยุด รอ โดยใช้ System.Threading.Thread.Sleep(จำนวนมิลลิวินาที) แล้วค่อยทำงานต่อได้

แต่ใน javascript ไม่สามารถสั่งให้ thread หยุดรอได้ และ มีแค่ thread เดียว (่javascript เพียวๆไม่มี multi-thread แต่ในปัจจุบันมันมี library ที่ทำ multi thread ได้)

งานบางอย่างเช่นติดต่อกับอุปกรณ์ และต้องรอให้อุปกรณ์มันทำงานเสร็จและส่งผลลัพท์กลับมา ใน javascript จึงเลี่ยงไปใช้เทคนิค การ callback แทน

ยกตัวอย่างเช่นการอ่านสมาร์ทการ์ด เสียบบัตร และรอให้เครื่องอ่านบัตรอ่านเสร็จ ใช้เวลาประมาณ 15 วินาที จังหวะที่เราเสียบบัตรเข้าไป และรอจนอ่านบัตรเสร็จให้มัน callback ค่าที่อ่านได้มาที่ function callback

โดยขั้นตอนที่สั่งให้เริ่มอ่านบัตร มันไม่สามารถส่งให้หยุดรอ 15 วินาที จนอ่านบัตรเสร็จได้ javascript มันวิ่งเลยจนจบไปแล้ว
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 85