W moim głównym wątku mam while(listening)pętlę, która wywołuje accept()mój obiekt ServerSocket, a następnie uruchamia nowy wątek klienta i dodaje go do kolekcji, gdy nowy klient jest akceptowany. Mam również wątek administratora, którego chcę używać do wydawania poleceń, takich jak „exit”, co spowoduje zamknięcie wszystkich wątków klienta, zamknięcie się i zamknięcie …
Mam klasę, która pobiera obiekty z a BlockingQueuei przetwarza je, wywołując take()w ciągłej pętli. W pewnym momencie wiem, że do kolejki nie zostaną dodane żadne obiekty. Jak przerwać take()metodę, aby przestała blokować? Oto klasa przetwarzająca obiekty: public class MyObjHandler implements Runnable { private final BlockingQueue<MyObj> queue; public class MyObjHandler(BlockingQueue queue) …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.