И чем же это будет отличаться (в лучшую сторону) от моего асинхронного чтения через NIO, напримерcrypto5 wrote:Разница в том что "Future на read" будет блокировать лишний поток пока рид не завершился, а в ForkJoin pool-e поток блокироваться не будет, а будет выполнять другую полезную работу.Интеррапт wrote:Я не вижу в этом ни малейшего performance gain по сравнению с, например AsynchronousSocketChannel (и его производных), который просто возвращает Future на read.crypto5 wrote:Здесь я думаю у тебя ошибка в утверждении, когда вызовется join(), ForkJoinPool увидит что ReadFromNetTask еще не релизнута, и не будет блокировать поток, а отдаст потоку какую то другую таску из очереди выполнения.Интеррапт wrote:вызова complete(), но все это время там просто поток будет тупо сидеть в join().
цикл
{
connect
asynchronous_socket.read(buffer, new CompletionHandler() {
... записали результат куда-то в базу данных ...
}
}