客户端future.get()阻塞住了,是哪个线程阻塞住了?
来源:8-7 客户端实现

红嘴鲤鱼
2020-11-15
服务端执行回调函数的是AsyncronousServerSocketGroup,类似一个线程池,那么客户端这里,future对象的get方法阻塞,是哪个线程被阻塞了呢?其次,本来nio要解决的问题就是从阻塞变成非阻塞,到了AIO这里,虽然同步变异步,但是又变回阻塞模型了,性能岂不是更差了? 求老师解惑
写回答
1回答
-
Stannum
2020-11-16
同学你好~请注意在这个例子中,我们主要是为了给大家演示两种不同的处理AIO异步操作的方法,在服务器端我们实现了回调函数,在客户端则使用了future对象。但是在实际应用中,你完全可以根据自己的应用需要,去选择最适合你的实现方法。比如说,你完全可以在客户端也使用回调函数来实现非阻塞的操作。即使使用future对象,也可以通过调用isDone函数来避免get函数的阻塞式调用。这里课程的例子是给大家尽量全面的展示各种操作的可能性。但是请你在实际应用中,一定要选择最适合你的实现方式~
00
相似问题