Czy w Javie jest odpowiednik epolowy?

Czy istnieje odpowiednik epolla Linuksa w Javie?

epoll pozwala wątkowi reagować na szereg heterogenicznych zdarzeń. Na przykład mogę mieć wątek, który reaguje na zdarzenie gniazda lub dane wejściowe z konsoli. W C ++ mogę to zaimplementować, rejestrując stdio i gniazdo z epoll. Mój wątek zostanie wyzwolony przez zdarzenie z dowolnego z nich.

Czy w Javie istnieje podobny obiekt? Spojrzałem na pakiet nio, pozwala mi to zarejestrować wiele gniazd za pomocą selektora. Ale wydaje się, że nie ma daleko, aby zarejestrować konsolę / standard io za pomocą selektora. Czy czegoś nie widzę? Czy jest inny sposób, aby to zrobić?

Jeśli chodzi o „dlaczego”: chcę napisać program, który komunikuje się przez gniazda i chcę sterować tym programem, wprowadzając komendy z konsoli. Wiem, jak można to zrobić przez oddzielenie wejścia konsoli i komunikacji do różnych wątków, ale jestem ciekawy, czy istnieje sposób, aby to zrobić w jednym wątku.

Dzięki. df

questionAnswers(2)

yourAnswerToTheQuestion