异步

来源:10-9 NIO服务器

红邮筒

2018-12-21

使用 Java NIO 异步处理客户请求是单线程,但是它可以连接多个客户端并进行操作,所以异步和多线程的区别在哪?

写回答

1回答

ccmouse

2018-12-23

这里有并发,多线程,异步几个概念。
首先,并发是目的。就是几个请求要同时执行。异步和多线程都是其实现方式。
多线程那自然他们可以通过线程切换来同时处理多个请求。
异步则是在一个线程里,可以请求多个io操作。这些io操作完成后各自会触发中断请求,我们的那一个线程可以通过检查谁发生了中断去处理谁的数据。
对于io密集型服务,异步可以省去多线程的开销,更容易突破线程数量限制,做到高并发。对于计算密集型,由于cpu同时只能做一件事,所以在计算时其他服务请求就无法被执行,这样可能多线程更为适合

0
1
红邮筒
非常感谢!
2018-12-23
共1条回复

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程