不用管 外部延迟(长且波动大),而在意 调度延迟(短且波动小)?能不能说下具体的需求?我比较好奇。
另外,我想了下,做同步的客户端线程可能比较麻烦。因为这个线程至少要监听两个地方:读tcp连接 和 读接收业务线程发来请求的管道。纯同步的代码应该是不能同时监听两个地方的。只能上多路复用(epoll之类)。实现比较复杂,性价比不如直接用tokio。
你如果担心tokio上其他任务的影响,可以单独起一个tokio的实例,专门负责网络请求,而跟其他业务task独立开来。
【 在 ensonmj 的大作中提到: 】
: 外部延时不用管,重要的是响应回来后立刻能处理。async异步运行时对于协程总是有调度的,所以用异步不能保证立马被调度到,也就是外部处理完了,我这边并不能立刻处理。
: 另外还有个更大的潜在问题 ,像tokio里面是有过类似公平调度的计数器的,如果把这个loop线程用异步的方式来写,很可能会因为loop线程里面其他耗时的处理导致yield出去之后需要更长时间才能调度回来。
--
FROM 122.231.190.*