Đây hoàn toàn là một câu hỏi lý thuyết vì tôi không chắc chắn các điều kiện gây ra vấn đề này sẽ là phổ biến.Làm thế nào để dừng thread trở về trước khi tham gia() được gọi là
Nói ví dụ bạn có một chủ đề mà bạn kick off với nó là bắt đầu phương pháp:
Thread c = new Thread();
c.start();
Sau đó trực tiếp sau đó, bạn gọi phương thức Join() trên thread nói với các phương pháp bạn đang ở để chờ đợi cho đến khi chuỗi đã được thực hiện để tiếp tục.
c.join();
Không phải là nó một khả năng rằng các chủ đề có thể có thể được thực hiện và kết thúc trước khi phương pháp tham gia được gọi là, do đó để lại phương pháp này không biết rằng nó phải đợi cho c để kết thúc trước khi nó tiếp tục? Tôi cho rằng bạn có thể thử gọi phương thức join() trước khi bạn gọi phương thức start(), nhưng bất cứ khi nào tôi thử điều này trong các trường hợp thử nghiệm, có một lỗi.
Bất kỳ ai biết có thể khắc phục sự cố này hoặc JVM có xử lý được không? Như tôi đã nói tôi đã không thể kích hoạt tình huống này, nhưng về mặt lý thuyết thì có thể ...
Tại sao lại là sự cố? –
Với câu trả lời mà những người khác đã mở, sẽ không sai khi kết luận rằng tham gia() trên bất kỳ Chủ đề nào khác, chỉ là kiểm tra tiêu chí, cho Chủ đề gọi. – soufrk