Thread (CPU)

Thread คืออะไร

Thread ในบริบทของ CPU (Central Processing Unit) คือลำดับคำสั่งที่เล็กที่สุดที่หน่วยประมวลผลสามารถดำเนินการได้ เป็นเส้นทางการทำงานเดี่ยว ๆ ภายในโปรแกรม หรือกล่าวอีกนัยหนึ่งคือเป็น ช่องทางการประมวลผลเสมือน (Logical Core) ที่ระบบปฏิบัติการมองเห็นและสามารถมอบหมายงานให้ได้ ทำให้ CPU ที่มีเทคโนโลยี Multi-threading (เช่น Hyper-Threading ของ Intel หรือ SMT ของ AMD) สามารถจัดการงานหลายอย่างได้พร้อมกันในแต่ละคอร์

(Thread ที่หมายถึงงานย่อยของซอฟต์แวร์ ให้ดูที่นี่ Execution Thread)

หน้าที่สำคัญ:

  • เพิ่มประสิทธิภาพการทำงานแบบขนาน (Concurrency): เทคโนโลยี Multi-threading ช่วยให้แต่ละ Physical Core (คอร์จริง) สามารถสลับไปมาหรือประมวลผลเธรดที่แตกต่างกันได้เกือบจะพร้อมกัน ทำให้ใช้ทรัพยากรของคอร์นั้นๆ ได้อย่างเต็มประสิทธิภาพมากขึ้น
  • ปรับปรุงการตอบสนองของระบบ (System Responsiveness): เมื่อโปรแกรมหรือระบบปฏิบัติการมีหลายเธรด CPU สามารถประมวลผลงานได้หลากหลายพร้อมกัน ทำให้ระบบโดยรวมรู้สึกตอบสนองได้เร็วขึ้น แม้จะเปิดหลายโปรแกรมหรือทำงานหนัก
  • รองรับ Multi-tasking ได้ดีขึ้น: การมีจำนวนเธรดที่มากกว่าจำนวน Physical Core ช่วยให้ CPU สามารถสลับไปทำงานระหว่างโปรแกรมต่างๆ ได้อย่างราบรื่นขึ้น โดยเฉพาะเมื่อมีโปรแกรมจำนวนมากที่ทำงานอยู่เบื้องหลัง

เกร็ดน่ารู้:

  • Physical Cores vs. Logical Threads:
    • Physical Core (คอร์จริง): คือหน่วยประมวลผลหลักที่เป็นฮาร์ดแวร์จริงๆ ภายใน CPU แต่ละคอร์มีหน่วยคำนวณของตัวเอง
    • Logical Thread (เธรดตรรกะ/เสมือน): คือสิ่งที่ระบบปฏิบัติการมองเห็นเป็นช่องทางการประมวลผล เธรดไม่ใช่คอร์จริง แต่เป็นเทคนิคที่ทำให้คอร์จริงหนึ่งคอร์สามารถจัดการคิวคำสั่งได้สองชุดข้อมูลเกือบจะพร้อมกัน โดยใช้ทรัพยากรของคอร์นั้นๆ ให้เกิดประโยชน์สูงสุด ตัวอย่างเช่น CPU 4 คอร์ 8 เธรด หมายถึงมี 4 Physical Cores และแต่ละคอร์สร้าง 2 Logical Threads
  • เทคโนโลยี Multi-threading:
    • Hyper-Threading (HT): เป็นเทคโนโลยีของ Intel ที่ทำให้แต่ละ Physical Core สามารถประมวลผลได้ 2 Logical Threads
    • Simultaneous Multi-Threading (SMT): เป็นเทคโนโลยีของ AMD ที่มีหลักการทำงานคล้ายคลึงกับ Hyper-Threading
  • การใช้งานเธรด: จำนวนเธรดที่เหมาะสมขึ้นอยู่กับลักษณะการใช้งานและชนิดของโปรแกรม
    • โปรแกรมที่รองรับ Multi-threading (Multi-threaded applications): โปรแกรมเหล่านี้ถูกออกแบบมาให้สามารถแบ่งงานออกเป็นหลายๆ เธรด เพื่อให้สามารถใช้ประโยชน์จาก CPU ที่มีหลายคอร์และหลายเธรดได้อย่างเต็มที่ ตัวอย่างเช่น โปรแกรมตัดต่อวิดีโอ, ซอฟต์แวร์เรนเดอร์ 3D, หรือเกมที่ทันสมัยบางเกม
    • โปรแกรมที่รองรับ Single-threading (Single-threaded applications): โปรแกรมเหล่านี้จะใช้เพียงเธรดเดียวในการทำงาน แม้ CPU จะมีหลายคอร์หลายเธรดก็ตาม สำหรับโปรแกรมประเภทนี้ ความเร็วสัญญาณนาฬิกา (Clock Speed) ของแต่ละคอร์จะมีความสำคัญมากกว่าจำนวนเธรด
  • การตรวจสอบจำนวนเธรด: คุณสามารถดูจำนวนคอร์และเธรดของ CPU ได้จาก Task Manager (สำหรับ Windows) หรือ System Monitor (สำหรับ Linux) หรือซอฟต์แวร์ตรวจฮาร์ดแวร์ต่างๆ

คำศัพท์ที่เกี่ยวข้อง:

  • CPU (Central Processing Unit): หน่วยประมวลผลกลาง
  • Core (คอร์): หน่วยประมวลผลหลักภายใน CPU
  • Clock Speed (ความเร็วสัญญาณนาฬิกา): ความเร็วในการประมวลผลของ CPU
  • Multitasking: การทำงานหลายอย่างพร้อมกัน
  • Parallel Processing: การประมวลผลแบบขนาน
  • Hyper-Threading (HT): เทคโนโลยี Multi-threading ของ Intel
  • Simultaneous Multi-Threading (SMT): เทคโนโลยี Multi-threading ของ AMD

อุปกรณ์ที่เกี่ยวข้อง:

  • CPU (หน่วยประมวลผลกลาง): มีจำนวนคอร์และเธรดที่แตกต่างกันไปในแต่ละรุ่น
  • ระบบปฏิบัติการ (Operating System): ทำหน้าที่จัดสรรงานให้กับเธรดต่างๆ ของ CPU
  • ซอฟต์แวร์ (Software): ต้องได้รับการออกแบบมาเพื่อใช้ประโยชน์จาก Multi-threading เพื่อประสิทธิภาพสูงสุด

กลับหน้าหลัก: พจนานุกรมคำศัพท์คอมพิวเตอร์ฉบับ DIY PC