ดูเหมือนจะไม่มีคำอธิบายมากมายเกี่ยวกับเรื่องนี้ แต่ควรใช้รหัสทางออกเพื่อบ่งชี้ว่าเธรดออกอย่างไร0
มีแนวโน้มที่จะหมายความว่ามันออกอย่างปลอดภัยในขณะที่สิ่งอื่นมีแนวโน้มที่จะหมายความว่ามันไม่ได้ ไม่ออกตามที่คาดไว้ แต่รหัสทางออกนี้สามารถตั้งค่าด้วยตัวเองเพื่อให้มองข้ามสิ่งนี้ไปโดยสิ้นเชิง
ลิงค์ที่ใกล้เคียงที่สุดที่ฉันพบว่ามีประโยชน์สำหรับข้อมูลเพิ่มเติมคือนี่
อ้างจากลิงค์ด้านบน:
อะไรคือวิธีการออกจำนวนเต็มที่คุณส่งคืนจากกระบวนการหรือเธรดของคุณต้องเป็นค่าตั้งแต่ 0-255 (8 บิต) ค่าศูนย์แสดงถึงความสำเร็จในขณะที่ค่าที่ไม่ใช่ศูนย์แสดงถึงความล้มเหลว แม้ว่าคุณสามารถพยายามส่งคืนค่าจำนวนเต็มเป็นรหัสออกได้ แต่จะส่งคืนค่าไบต์ต่ำสุดของจำนวนเต็มจากกระบวนการหรือเธรดของคุณโดยเป็นส่วนหนึ่งของรหัสออกเท่านั้น ระบบปฏิบัติการใช้ไบต์ลำดับที่สูงกว่าเพื่อถ่ายทอดข้อมูลพิเศษเกี่ยวกับกระบวนการ รหัสทางออกมีประโยชน์มากในโปรแกรมแบทช์ / เชลล์ซึ่งรันโปรแกรมอื่นตามเงื่อนไขขึ้นอยู่กับความสำเร็จหรือความล้มเหลวของโปรแกรมหนึ่ง
จากเอกสารประกอบสำหรับGetEXitCodeThread
สิ่งสำคัญฟังก์ชัน GetExitCodeThread ส่งคืนรหัสข้อผิดพลาดที่ถูกต้องที่กำหนดโดยแอ็พพลิเคชันหลังจากเธรดสิ้นสุดเท่านั้น ดังนั้นแอปพลิเคชันไม่ควรใช้ STILL_ACTIVE (259) เป็นรหัสข้อผิดพลาด หากเธรดส่งคืน STILL_ACTIVE (259)เป็นรหัสข้อผิดพลาดแอปพลิเคชันที่ทดสอบค่านี้อาจแปลความหมายว่าเธรดยังคงทำงานอยู่และทดสอบต่อไปเพื่อความสมบูรณ์ของเธรดหลังจากเธรดสิ้นสุดลงซึ่งอาจทำให้เธรด การประยุกต์ใช้ในการวนซ้ำที่ไม่มีที่สิ้นสุด
ความเข้าใจของฉันเกี่ยวกับทั้งหมดนี้คือรหัสออกไม่ได้มีความสำคัญมากนักหากคุณใช้เธรดในแอปพลิเคชันของคุณเองสำหรับแอปพลิเคชันของคุณเอง ข้อยกเว้นนี้อาจเป็นไปได้หากคุณกำลังรันสองเธรดในเวลาเดียวกันที่มีการพึ่งพาซึ่งกันและกัน หากมีข้อกำหนดสำหรับแหล่งภายนอกในการอ่านรหัสข้อผิดพลาดนี้คุณสามารถตั้งค่าให้แอปพลิเคชันอื่นทราบสถานะของเธรดของคุณได้