首先要先清楚你的程序是io密集型还是cpu密集型
一般的游戏服务端都是io密集型的,主要瓶颈在于io,那么当线程在等待io操作时,cpu就空闲下来了。这样浪费了cpu性能,而且并发上不去。
callback和协程解决的原理都一样,就是遇到io操作的时候,通过callback或者协程处理当前的io操作,把当前的线程让出来,让线程去处理其他的请求,等到io操作结束了,在回到原来的线程去执行。这样合理的利用了cpu性能,提高了并发数。
首先要先清楚你的程序是io密集型还是cpu密集型
一般的游戏服务端都是io密集型的,主要瓶颈在于io,那么当线程在等待io操作时,cpu就空闲下来了。这样浪费了cpu性能,而且并发上不去。
callback和协程解决的原理都一样,就是遇到io操作的时候,通过callback或者协程处理当前的io操作,把当前的线程让出来,让线程去处理其他的请求,等到io操作结束了,在回到原来的线程去执行。这样合理的利用了cpu性能,提高了并发数。