Music Hit In your life

วันศุกร์ที่ 14 มกราคม พ.ศ. 2554

รู้จักกับเธรด Threads

เธรด (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) การเอื้อประโยชน์ด้านโครงสร้างสถาปัตยกรรมที่งานย่อยภายในโปรเซสสามารถทำงานร่วมกัน ประสานจังหวะการทำงานและใช้ทรัพยากรของโปรเซสร่วมกันได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น