3
หากเธรดใช้ PID เดียวกันจะระบุได้อย่างไร
ฉันมีคำถามเกี่ยวกับการใช้เธรดใน Linux Linux ไม่มีการสนับสนุนเธรดที่ชัดเจน ใน userspace เราอาจใช้เธรดไลบรารี (เช่น NPTL) สำหรับการสร้างเธรด ตอนนี้ถ้าเราใช้ NPTL จะรองรับการทำแผนที่ 1: 1 เคอร์เนลจะใช้clone()ฟังก์ชันเพื่อใช้เธรด สมมติว่าฉันสร้าง 4 เธรด จากนั้นก็หมายความว่า: จะมี 4 task_struct. ภายในจะมีการจัดหาทรัพยากรที่ใช้ร่วมกันตามข้อโต้แย้งในการโคลนtask_struct(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND) ตอนนี้ฉันมีคำถามต่อไปนี้: 4 เธรดจะมี PID เดียวกันหรือไม่? หากมีใครสามารถอธิบายได้อย่างละเอียดจะมีการแบ่งปัน PID อย่างไร มีการระบุเธรดต่างๆอย่างไร มีแนวคิด TID (thread ID) บ้างไหม