ฉันจะขัดจังหวะวิธี ServerSocket accept () ได้อย่างไร?
ในเธรดหลักของฉันฉันมีการwhile(listening)วนรอบซึ่งเรียกaccept()บนวัตถุ ServerSocket ของฉันจากนั้นเริ่มเธรดไคลเอนต์ใหม่และเพิ่มลงในคอลเลกชันเมื่อยอมรับไคลเอนต์ใหม่ ฉันยังมีเธรดผู้ดูแลระบบที่ฉันต้องการใช้ในการออกคำสั่งเช่น 'exit' ซึ่งจะทำให้เธรดไคลเอนต์ทั้งหมดถูกปิดตัวเองปิดตัวเองและปิดเธรดหลักโดยเปลี่ยนการฟังเป็นเท็จ อย่างไรก็ตามการaccept()โทรในwhile(listening)บล็อกวนซ้ำและดูเหมือนจะไม่มีทางขัดขวางดังนั้นจึงไม่สามารถตรวจสอบเงื่อนไขในขณะที่อีกครั้งและโปรแกรมไม่สามารถออกได้! มีวิธีที่ดีกว่าในการทำเช่นนี้? หรือวิธีการขัดจังหวะวิธีการบล็อก?