Tôi đã có một chuỗi chính và trong chuỗi đó tôi bắt đầu một chuỗi mới. (chủ đề con). Chuỗi con đó mở một ổ cắm máy chủ và bắt đầu nghe kết nối. Tôi muốn chủ đề đó ngừng thực thi và đóng bất kỳ chủ đề nào đã được khởi tạo (như Socket) khi luồng chính nhận được tin nhắn từ bên ngoài (từ nơi nó nhận được tin nhắn không phải là mối quan tâm). Làm thế nào tôi nên dừng thread và đóng tất cả các kết nối là những gì tôi muốn.Giao tiếp giữa chuỗi gốc và con trong Java
Tôi có nên sử dụng biến được chia sẻ không? để khi luồng chính nhận được thông báo, nó sẽ sửa đổi nó và chuỗi con sẽ liên tục kiểm tra các thay đổi trong biến chia sẻ đó?
Tôi nên triển khai nó như thế nào? Một số liên kết hữu ích có thể giúp hoặc mã mẫu?
Những gì tôi đã cố gắng thực hiện như sau: trong thread chính tôi đã tuyên bố một biến
flag=0;
khi thread chính nhận được tin nhắn, nó đặt
flag = 1 ;
và thread nghe cho thay đổi như sau:
void()run{
while(true){
if(flag==1){
break;
}
sock1 = Ssocket.accept();
}
Nhưng mã trên không có t ở tất cả các công việc. Tôi nên làm như thế nào?
tôi sẽ cố gắng và liên hệ lại với bạn ... nhưng có gì sai trong mã của tôi? – neerajDorle
cờ chỉ được thay đổi cho chuỗi gốc của bạn, chuỗi con vẫn nhìn thấy nó là "0" –
Làm cho cờ dễ bay hơi. 'cờ int dễ bay hơi;'. – maba