擅长:python、mysql、java
<p>我们在做武器的时候,总是基于高性能来选择武器情况。所以答案还是太宽泛了。在</p>
<p>但你更大的问题更简单只有一个IO绑定程序适合异步。在</p>
<p>epoll和异步的目的是什么?避免CPU等待IO没什么。CPU等待IO块,IO块是因为没有可读取的数据或没有可写入的空间。在</p>
<p>引入缓冲区来降低系统的功耗打电话。什么时候在流上调用read,实际上是从缓冲区读取</p>
<p>Select或epoll是非阻塞的忙轮询(epoll通过中断底层实现)</p>
<pre><code>while true {
for i in stream[]{
if i has data
read until unavailable
}
}
</code></pre>
<p>这很傻,所以有select和epoll。
每次你从缓冲区读取数据,都有数据在等着你,这是高速IO,那么epoll/select就是你的最佳选择选择。还有当缓冲区总是空的时候,它是一个慢流,IO绑定,异步非常适合这种情况。在</p>
<p>我不太了解异步,对我来说,这只是内部的软中断和大量的回调。在</p>