เธรด (Threads) หมายถึง งานย่อยที่เกิดขึ้นในโปรเซส ซึ่งในหนึ่งโปรเซสสามารถมี
ได้หลายเธรด
ลักษณะของเธรด (Threads)
- Heavy Weight Process : OS รุ่นเก่ากับสถาปัตยกรรมเครื่องคอมพิวเตอร์ในอดีต หนึ่งโปรเซสจะมี เพียงหนึ่งเธรด (Single-Threads) ซึ่งหมายถึงเครื่องจะสามารถทำงานได้ทีละหนึ่งงาน (Heavy Weight Process) เมื่อเข้าทำงานหนึ่ง ๆ ก็จะครอบครองทรัพยากร (Resource) และใช้เวลาของระบบทั้งหมด ทำให้การทำงานไม่คุ้มค่า และด้อยประสิทธิภาพ
- Light Weight Process : OS สมัยใหม่หนึ่งโปรเซสมีได้หลายเธรด (Multi-Threads) กล่าวคือ สามารถทำงานได้หลายงาน (Light Weight Process)
องค์ประกอบภายในเธรด (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) การเอื้อประโยชน์ด้านโครงสร้างสถาปัตยกรรมที่งานย่อยภายในโปรเซสสามารถทำงานร่วมกัน ประสานจังหวะการทำงานและใช้ทรัพยากรของโปรเซสร่วมกันได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น