Он включает в себя простой юнит-тест:

адиционном сервере блокирующих потоков я бы сделал что-то вроде этого

class ServerSideThread {

    ObjectInputStream in;
    ObjectOutputStream out;
    Engine engine;

    public ServerSideThread(Socket socket, Engine engine) {
        in = new ObjectInputStream(socket.getInputStream());
        out = new ObjectOutputStream(socket.getOutputStream());
        this.engine = engine;
    }

    publ,ic void sendMessage(Message m) {
        out.writeObject(m);
    }

    public void run() {
        while(true) {
            Message m = (Message)in.readObject();
            engine.queueMessage(m,this); // give the engine a message with this as a callback
        }
    }
}

Теперь можно ожидать, что объект будет довольно большим. В моем цикле nio я не могу просто ждать, пока объект пройдет, все мои другие соединения (с гораздо меньшими рабочими нагрузками) будут ждать меня.

Как я могу только получить уведомление о том, что соединение имеет весь объект, прежде чем оно сообщит моему каналу nio, что оно готово?

Ответы на вопрос(2)

Ваш ответ на вопрос