Tôi hiểu InterruptedException là gì và tại sao nó được ném ra. Tuy nhiên trong ứng dụng của tôi tôi nhận được nó khi chờ đợi SwingUtilities.invokeAndWait()
trên một sợi chỉ được biết đến bởi ứng dụng của tôi, và ứng dụng của tôi không bao giờ gọi Thread.interrupt()
trên bất kỳ chủ đề nào, nó cũng không bao giờ chuyển tham chiếu của chuỗi cho bất kỳ ai.Ai ngắt chuỗi của tôi?
Vì vậy, câu hỏi của tôi là: Ai ngắt chuỗi của tôi?
Có cách nào để nói không? Có một lý do tại sao InterruptedException không chứa tên của Thread mà yêu cầu ngắt?
Tôi đọc mà nó có thể là một khuôn khổ hoặc thư viện mà thực hiện điều này, chúng tôi sử dụng những điều sau đây, nhưng tôi không thể nghĩ ra lý do để họ làm gián đoạn chủ đề của tôi:
- Hibernate
- Xuân
- Log4J nối
- Mysql
Tôi nghĩ bạn có nghĩa là "Ai * DARES * làm gián đoạn chuỗi của tôi?" –
+1 - Bạn đang thực hiện Thread # join? nó ném InterruptedException. – RubyDubee
Thật vậy Scott, tôi muốn các chủ đề của tôi không bị gián đoạn (vì tôi không muốn tuân thủ yêu cầu). Chúng tôi không làm Thread # tham gia chính mình, nhưng tôi có thể tưởng tượng rằng invokeAndWait sử dụng một cơ chế như vậy. Tuy nhiên, Thead # join có thể gọi ngắt trên một luồng khác không? Ngoài ra tôi khá chắc chắn rằng không ai chờ đợi cho thread của tôi để hoàn thành (vì nó sẽ không bao giờ). – Thirler