ผมยกตัวอย่างมาจาก
https://www.kernel.org/doc/man-pages/online/pages/man3/pthread_create.3.html
ทำให้มันทำงานได้อย่างไม่สิ้นสุด (ด้วยโหมดสลีปเล็กน้อย ดังนั้นการใช้งาน CPU จึงไม่เป็นปัญหาคอขวด ดังนั้นจึงไม่ต้องคอยรอเธรด) โดยการสร้างเธรดด้วย pthread_create
โดยไม่เคยเรียก pthread_join
นั่นทำให้หน่วยความจำรั่วและในที่สุดพีซีก็หน่วยความจำไม่เพียงพอ เมื่อฉันเพิ่ม pthread_detach
ทันทีหลังจากสร้างโปรแกรมเธรดทำงานได้ดีและการใช้หน่วยความจำจะคงที่หลังจากผ่านไประยะหนึ่ง
ฉันรู้สึกว่าเมื่อเธรดออก (เมื่อปิด }
ของฟังก์ชันที่หากกำหนดให้กับ pthread_create
) ทรัพยากรทั้งหมดจะถูกล้าง