大興網(wǎng)站建設(shè)推廣網(wǎng)站seo的方法
隨著計(jì)算機(jī)編程頻繁使用,關(guān)于CPU的處理性能的討論從未停止過,由于我最近在學(xué)習(xí)多線程相關(guān)的知識,那么就來理一理CPU的核心問題。
一、線程與進(jìn)程
業(yè)解釋
線程是CPU調(diào)度和分配的基本單位,可以理解為CPU只看得到線程;
進(jìn)程是操作系統(tǒng)進(jìn)行資源分配的最小單位;
通俗解釋
進(jìn)程是你想要運(yùn)行的一個(gè)可執(zhí)行程序,假設(shè)這個(gè)程序你使用了多線程的方法;
當(dāng)你執(zhí)行這個(gè)程序時(shí),CPU響應(yīng)為該進(jìn)程分配資源對其進(jìn)行處理,但是CPU看不到"進(jìn)程", 看到的是由很多個(gè)線程組成的一個(gè)網(wǎng)絡(luò)(就是一個(gè)進(jìn)程),于是CPU開始為這些線程利用時(shí)間分配算法來循環(huán)執(zhí)行任務(wù)。
?? ???? "處理":單CPU單核處理就是線程(進(jìn)程)并發(fā)處理,單CPU多核就可以線程并行處理;
?? ??? ? ?? ??? 多CPU(肯定多核)進(jìn)程可以并行處理
?? ??? ?
?? ??? ?"一般個(gè)人電腦都是單CPU多核"
二、并行與并發(fā)
單核CPU處理系統(tǒng)只有并發(fā),沒有并行,它可以支持多個(gè)任務(wù)的運(yùn)行,但是因?yàn)橹挥幸粋€(gè)處理器,所以無法并行;
多核CPU處理器可以支持并行和并發(fā),多個(gè)核可同時(shí)并行處理任務(wù),而單核上也可以并發(fā)處理多個(gè)線程。
三、ubuntu下查看電腦CPU核數(shù),CPU個(gè)數(shù),最大線程數(shù)(邏輯CPU的數(shù)量)
## CPU個(gè)數(shù)more /proc/cpuinfo |grep "physical id"|uniq|wc -l # 1## 查看CPU核數(shù)cat /proc/cpuinfo| grep "cpu cores"| uniq # 6## 查看最大線程數(shù)(邏輯CPU的數(shù)量)more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l # 12