课程
/后端开发
/Java
/Java Socket应用---通信是这样练成的
为什么是通过降低优先级来提高运行速度?
优先级低了,线程执行的时间直观上应该是增加了啊?
2016-07-29
源自:Java Socket应用---通信是这样练成的 5-1
正在回答
首先cpu的资源有限,所谓的异步是快速的执行不同的任务,并且在之间进行切换,例如一个请求执行到某个阶段,再去执行另外一个,然后在切换回来继续执行。
每一次的切换都是根据一个算法来选择下一个执行的任务到底是哪一个,其中影响算法选择的非常重要的参数就是任务的优先级,优先级高的任务执行的概率就高,反之优先级地的任务执行的概率就低。
如果并发量非常的高的话,这种时间差就会非常的明显,所以要区分任务的优先级,让高优先级的任务先执行,次要的任务后执行。
关键是少年别光注意 降低优先级这几个字 , 是降低其他任务的优先级,来提高自己任务的速度,我白说这么多,你肯定是钻文字的牛角尖了,其中的内涵你懂得
如果此处优先级高会一直抢占CPU,可能会导致系统运行变慢。
举报
分享的是 Java 中的网络编程,使用Socket实现网络聊天通信
2 回答为什么降低优先级,而不是提高优先级?
2 回答不是最高级的流或者socket关闭了 低级流就会被关闭吗,为什么老师每次都要把所有的流都关一遍啊?
1 回答socket.shtdownInput();//关闭输入流 是什么 为啥不用close!! 还有流关闭需要遵循先后顺序吗?
4 回答SERVER端先接收信息后发送信息,为什么在接收信息后调用了shutdownInput()
3 回答为什么包装成printwriter而不是Outsreamwriter