ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 
Thread คืออะไร  
      Thread คือ หน่วยการทำงานย่อยที่อยู่ใน process มีการแบ่งปันทรัพยากรต่างๆ ใน process นั้นๆ โดยปกติ Process ที่มี 1 thread จะเรียกว่า Single thread หรือเรียกว่า Heavy Weight  Process ซึ่งมักพบใน OS รุ่นเก่า แต่ถ้า 1 process มีหลาย thread จะเรียกว่า Multithread หรือ Light  Weight Process ซึ่งพบได้ใน OS รุ้นใหม่ที่ใช้กันในปัจจุบันทั่วไป และ Multithread ก็เป็นที่นิยมมากกว่า Single thread
      เหตุที่ต้องมี Thread คือการเรียกใช้ CPU ให้เกิดประโยชน์สูงสุด Thread ทำให้การทำงานของโปรแกรมง่าย และมีประสิทธิภาพมากขึ้นและมีประโยชน์ต่อระบบที่มี multi CPU หรือ multi core เพราะสามารถเรียกใช้ thread หลายๆ ตัวได้พร้อมๆ กัน โดย thread แต่ละตัว ของโปรเซส เดียวกันจะทำงานแตกต่างกันแต่มีความเกี่ยวข้องกันบางอย่างและต้องทำงานอยู่ภายใต้สภาพแวดล้อมเดียวกัน
  องค์ประกอบภายในเธรด (Threads) ประกอบด้วย
1. Threads ID หมายเลขเทรดที่อยู่ในโปรเซส
2. Counter ตัวนับเพื่อติดตามคำสั่งที่จะถูกดำเนินการเป็นลำดับถัดไป (Execute)
3. Register หน่วยความจำเก็บค่าตัวแปรที่ทำงานอยู่ปัจจุบัน
4. Stack เก็บประวัติการทำงาน (Execute)
 ประโยชน์ของมัลติเทรด ( Multi-Threads)
1. การตอบสนอง (Response)  ในเรื่องของการทำงานมีการตอบสนองที่ดีกับผู้ใช้ (user) ถ้าการทำงานของ โปรแกรมประยุกต์ของผู้ใช้นั้นมีบางส่วนภายในโปรเซสถูกบล๊อกหรือใช้เวลามากเกินไป OS ก็ยังสามารถจัดสรรให้งานอื่น ๆ  ภายในโปรเซสนั้นประมวลผลต่อไปได้
2. การใช้ทรัพยากรร่วมกัน (Share Resource)  สามารถใช้โค้ม (code)  ใช้โปรแกรม (application) และใช้หน่วยความจำ (memory)  ร่วมกันระหว่างโปรเซสเดียวกันได้
3. ประหยัด (Economic)  ประหยัดการใช้หน่วยความจำในการทำงานของโปรเซส   เนื่องจากแต่ละเทรด (Thread) มีการใช้หน่วยความจำของโปรเซสร่วมกัน
4. ด้านโครงสร้างของมัลติเทรด (Multithread  Architecture) การเอื้อประโยชน์ด้านโครงสร้างระบบ ที่งานย่อยภายในโปรเซสให้สามารถทำงานร่วมกัน ประสานจังหวะการทำงานและใช้ทรัพยากรของโปรเซสร่วมกันได้



ข้อมูลอ้างอิง
http://www.thaiall.com
http://www.no-poor.com
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
จะสร้างไฟล์ .csv จากฟรีโปรแกรมอะไรได้บ้างค่ะ (ไม่มี excel)
5
thatsawan 7:30 pm
มีคลิปทำ Xoops ไหมครับ
8
ขอบคุณ
6
Code ของผังบัญชี ความหมายของแต่ละหลักคืออะไร
28
araxvaan 24 มิ.ย. 2017 6:46 pm
python ดึก part ยังไงคับ
44
nuattawoot 24 มิ.ย. 2017 3:42 pm
เข้า facebook ไม่ได้
26
โดย บุคคลทั่วไป 23 มิ.ย. 2017 6:57 pm
แก้ปัญหา rsync แล้ว Error .ssh/known_hosts
31
mindphp 23 มิ.ย. 2017 6:54 pm
RFID หรือ NFC อ่านค่าได้จากระยะไกลสุดเท่าไหร่
46
Oh_nO 23 มิ.ย. 2017 10:55 am
สอบถามนิยามหรือความหมายของคำว่า Subscriber กับ Digest Subscriber ในเรื่องของ Mailing list ค่ะ
27
araxvaan 22 มิ.ย. 2017 9:33 pm
โปรแกรมต่อ Video (วีดีโอ) ด้วย Python
44
nuattawoot 22 มิ.ย. 2017 7:10 pm
สอบถามเรื่องการดึงข้อมูลสุดท้ายจาก ฐานข้อมูลมาแสดงใช้คำสั่งอะไรครับ
48
AePongsak 22 มิ.ย. 2017 5:06 pm
เพิ่มข้อมูลลงSQL เพิ่มไปแล้ว ตอนแสดงจะให้แสดงID ล่าสุดที่เพิ่มเข้าไปยังไงครับ
85
nuattawoot 21 มิ.ย. 2017 7:28 pm
ส่งข้อมูลข้ามฟอร์มแล้ว ข้อมูลไม่แสดง แต่ตารางแสดงครบ
38
nuattawoot 21 มิ.ย. 2017 5:13 pm
แนะนำ MySQL Store Procedure
30
moomai 21 มิ.ย. 2017 5:01 pm
สอบถามการใช้คำสั่ง ORDER BY ของ phpBB ตอน SELECT ข้อมูล
81
AePongsak 21 มิ.ย. 2017 1:51 pm
สอบถามเรื่องการเขียนโค๊ด python ภายใต็ HTML
54
nuattawoot 21 มิ.ย. 2017 11:56 am
โดยทั่วไปใช้ Framework ตัวไหนครับ
68
toonytoony2004 20 มิ.ย. 2017 10:19 pm
สอบถามเรื่องการรัน Flask มัน Error
42
nuattawoot 20 มิ.ย. 2017 6:48 pm
สอบถามเรื่อง คำสั่งที่ใช้จัดวางตำแหน่งข้อมูลในตาราง
77
AePongsak 20 มิ.ย. 2017 5:34 pm
สอบถามการตั้งค่า Calendars and Contact ใน cPanel
43
araxvaan 20 มิ.ย. 2017 5:45 pm