課程
/后端開發(fā)
/Java
/Java Socket應(yīng)用---通信是這樣練成的
為什么是通過(guò)降低優(yōu)先級(jí)來(lái)提高運(yùn)行速度?
優(yōu)先級(jí)低了,線程執(zhí)行的時(shí)間直觀上應(yīng)該是增加了啊?
2016-07-29
源自:Java Socket應(yīng)用---通信是這樣練成的 5-1
正在回答
首先cpu的資源有限,所謂的異步是快速的執(zhí)行不同的任務(wù),并且在之間進(jìn)行切換,例如一個(gè)請(qǐng)求執(zhí)行到某個(gè)階段,再去執(zhí)行另外一個(gè),然后在切換回來(lái)繼續(xù)執(zhí)行。
每一次的切換都是根據(jù)一個(gè)算法來(lái)選擇下一個(gè)執(zhí)行的任務(wù)到底是哪一個(gè),其中影響算法選擇的非常重要的參數(shù)就是任務(wù)的優(yōu)先級(jí),優(yōu)先級(jí)高的任務(wù)執(zhí)行的概率就高,反之優(yōu)先級(jí)地的任務(wù)執(zhí)行的概率就低。
如果并發(fā)量非常的高的話,這種時(shí)間差就會(huì)非常的明顯,所以要區(qū)分任務(wù)的優(yōu)先級(jí),讓高優(yōu)先級(jí)的任務(wù)先執(zhí)行,次要的任務(wù)后執(zhí)行。
關(guān)鍵是少年別光注意 降低優(yōu)先級(jí)這幾個(gè)字 , 是降低其他任務(wù)的優(yōu)先級(jí),來(lái)提高自己任務(wù)的速度,我白說(shuō)這么多,你肯定是鉆文字的牛角尖了,其中的內(nèi)涵你懂得
如果此處優(yōu)先級(jí)高會(huì)一直搶占CPU,可能會(huì)導(dǎo)致系統(tǒng)運(yùn)行變慢。
舉報(bào)
分享的是 Java 中的網(wǎng)絡(luò)編程,使用Socket實(shí)現(xiàn)網(wǎng)絡(luò)聊天通信
2 回答為什么降低優(yōu)先級(jí),而不是提高優(yōu)先級(jí)?
2 回答不是最高級(jí)的流或者socket關(guān)閉了 低級(jí)流就會(huì)被關(guān)閉嗎,為什么老師每次都要把所有的流都關(guān)一遍???
1 回答socket.shtdownInput();//關(guān)閉輸入流 是什么 為啥不用close!! 還有流關(guān)閉需要遵循先后順序嗎?
4 回答SERVER端先接收信息后發(fā)送信息,為什么在接收信息后調(diào)用了shutdownInput()
3 回答為什么包裝成printwriter而不是Outsreamwriter
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-08-31
首先cpu的資源有限,所謂的異步是快速的執(zhí)行不同的任務(wù),并且在之間進(jìn)行切換,例如一個(gè)請(qǐng)求執(zhí)行到某個(gè)階段,再去執(zhí)行另外一個(gè),然后在切換回來(lái)繼續(xù)執(zhí)行。
每一次的切換都是根據(jù)一個(gè)算法來(lái)選擇下一個(gè)執(zhí)行的任務(wù)到底是哪一個(gè),其中影響算法選擇的非常重要的參數(shù)就是任務(wù)的優(yōu)先級(jí),優(yōu)先級(jí)高的任務(wù)執(zhí)行的概率就高,反之優(yōu)先級(jí)地的任務(wù)執(zhí)行的概率就低。
如果并發(fā)量非常的高的話,這種時(shí)間差就會(huì)非常的明顯,所以要區(qū)分任務(wù)的優(yōu)先級(jí),讓高優(yōu)先級(jí)的任務(wù)先執(zhí)行,次要的任務(wù)后執(zhí)行。
關(guān)鍵是少年別光注意 降低優(yōu)先級(jí)這幾個(gè)字 , 是降低其他任務(wù)的優(yōu)先級(jí),來(lái)提高自己任務(wù)的速度,我白說(shuō)這么多,你肯定是鉆文字的牛角尖了,其中的內(nèi)涵你懂得
2016-07-30
如果此處優(yōu)先級(jí)高會(huì)一直搶占CPU,可能會(huì)導(dǎo)致系統(tǒng)運(yùn)行變慢。