ฉันทราบว่าใน. NETมีตัวจับเวลาสามประเภท (ดูการเปรียบเทียบคลาสตัวจับเวลาใน. NET Framework Class Library ) ฉันเลือกตัวจับเวลาแบบเธรดเนื่องจากประเภทอื่น ๆ สามารถล่องลอยได้หากเธรดหลักไม่ว่างและฉันต้องการให้สิ่งนี้เชื่อถือได้
วิธีการทำงานของตัวจับเวลานี้ในการควบคุมตัวจับเวลาจะถูกวางไว้บนเธรดอื่นเพื่อให้สามารถทำเครื่องหมายพร้อมกับงานที่เริ่มเสร็จสมบูรณ์บนเธรดแม่เมื่อไม่ว่าง
ปัญหาเกี่ยวกับตัวจับเวลานี้ในแอปพลิเคชันคอนโซลคือในขณะที่ตัวจับเวลากำลังทำเครื่องหมายบนเธรดอื่นเธรดหลักไม่ได้ทำอะไรเลยเพื่อปิดแอปพลิเคชัน
ฉันพยายามเพิ่มwhile true
ลูป แต่เธรดหลักยุ่งเกินไปเมื่อตัวจับเวลาไม่ทำงาน