單線程的人什么意思 在什么情況下單線程比多線程效率高?
在什么情況下單線程比多線程效率高?1. 多線程有線程切換的代價(jià)。如果執(zhí)行時(shí)間短,線程切換將浪費(fèi)時(shí)間2。當(dāng)存在資源爭(zhēng)用時(shí),多線程往往會(huì)導(dǎo)致鎖定,消耗資源一般來說,單線程的處理能力比多線程差,但redis
在什么情況下單線程比多線程效率高?
1. 多線程有線程切換的代價(jià)。如果執(zhí)行時(shí)間短,線程切換將浪費(fèi)時(shí)間
2。當(dāng)存在資源爭(zhēng)用時(shí),多線程往往會(huì)導(dǎo)致鎖定,消耗資源
一般來說,單線程的處理能力比多線程差,但redis為什么更快主要是因?yàn)橐韵略颍?/p>
1。純內(nèi)存訪問,redis將所有的數(shù)據(jù)都放在內(nèi)存中,而內(nèi)存的響應(yīng)時(shí)間約為100納秒,這是redis達(dá)到每秒10000次的水平的重要基礎(chǔ)。
此外,I/O和重做/重做不會(huì)用作網(wǎng)絡(luò)中的耗時(shí)事件。
3. 單線程避免了線程切換和爭(zhēng)用的消耗。
單線程的優(yōu)點(diǎn):1。簡(jiǎn)化了數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)。
2. 避免線程切換和爭(zhēng)用的消耗。對(duì)于服務(wù)器,鎖和線程切換通常是性能殺手。
單線程問題:每個(gè)命令的執(zhí)行時(shí)間都有要求。如果執(zhí)行一個(gè)命令,它將阻止其他命令,這對(duì)高性能服務(wù)redis是致命的。因此,redis是一個(gè)用于快速執(zhí)行場(chǎng)景的數(shù)據(jù)庫(kù)。