中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

傳媒公司做網(wǎng)站條件如何讓關(guān)鍵詞排名靠前

傳媒公司做網(wǎng)站條件,如何讓關(guān)鍵詞排名靠前,重慶沙坪壩好玩的地方,建盞公司最新消息🐶博主主頁(yè):??. 一懷明月? ???🔥專欄系列:線性代數(shù),C初學(xué)者入門訓(xùn)練,題解C,C的使用文章,「初學(xué)」C,linux 🔥座右銘:“不要等到什么都沒(méi)有了…

🐶博主主頁(yè):@??. 一懷明月??

???🔥專欄系列:線性代數(shù),C初學(xué)者入門訓(xùn)練,題解C,C的使用文章,「初學(xué)」C++,linux

🔥座右銘:“不要等到什么都沒(méi)有了,才下定決心去做”

🚀🚀🚀大家覺(jué)不錯(cuò)的話,就懇求大家點(diǎn)點(diǎn)關(guān)注,點(diǎn)點(diǎn)小愛(ài)心,指點(diǎn)指點(diǎn)🚀🚀🚀

目錄

線程

線程的概念

linux并不存在真正意義上的線程,而是利用進(jìn)程的資源模擬實(shí)現(xiàn)線程的

ps -aL

CPU 的局部性原理

cache:高速緩存


線程

線程的概念

線程是比進(jìn)程更加輕量化的執(zhí)行流/線程是在進(jìn)程內(nèi)部執(zhí)行的一種執(zhí)行流

在 Linux 中,線程是指在同一進(jìn)程內(nèi)并發(fā)執(zhí)行的輕量級(jí)執(zhí)行單元。與進(jìn)程不同的是,線程共享相同的地址空間和其他資源,包括文件描述符、信號(hào)處理和狀態(tài)信息。每個(gè)線程都有自己的棧,但它們共享數(shù)據(jù)段、代碼段和其他內(nèi)存部分。這使得線程之間的切換比進(jìn)程之間的切換更加高效。

線程是CPU調(diào)度的基本單位/進(jìn)程是承擔(dān)系統(tǒng)資源的基本實(shí)體

創(chuàng)建一個(gè)線程,只需要?jiǎng)?chuàng)建pcb,不需要?jiǎng)?chuàng)建虛擬地址空間、頁(yè)表等,多個(gè)進(jìn)程pcb指向一個(gè)虛擬地址空間即可

os如果支持線程,也必須管理線程,先描述,再組織,TCB(linux中不會(huì)單獨(dú)設(shè)計(jì)線程TCB,因?yàn)榫€程大多數(shù)東西,都是和PCB差不多,所以只需要復(fù)用即可,windows是單獨(dú)設(shè)計(jì)了一套TCB)

linux并不存在真正意義上的線程,而是利用進(jìn)程的資源模擬實(shí)現(xiàn)線程的

事例

#include<iostream>
#include<pthread.h>
#include<unistd.h>using namespace std;void* threadroutine(void* arg)
{
const char* threadname=(const char*)arg;while(true)
{
cout<<"I am a new thread"<<threadname<<endl;
sleep(1);
}
}int main(){
//這里已經(jīng)有進(jìn)程了
pthread_t tid;pthread_create(&tid,nullptr,threadroutine,(void*)"thread 1");//主線程
while(true)
{
cout<<"I am main thread"<<endl;
sleep(1);
}
return 0;}結(jié)果:
[BCH@hcss-ecs-6176 2_21]$ ./testThread 
I am main thread
I am a new threadthread 1
I am main thread
I am a new threadthread 1
I am main thread
I am a new threadthread 1
I am main thread
I am a new threadthread 1
I am main thread
I am a new threadthread 1[BCH@hcss-ecs-6176 2_21]$ while :; do ps ajx | head -1 && ps ajx | grep testThread | grep -v grep; sleep 1; done PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND6528  2570  2570  6528 pts/5     2570 Sl+   1000   0:00 ./testThreadPPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND從結(jié)果可以知道,主線程和新線程都向屏幕輸出了,并且通過(guò)ps指令檢測(cè)只有一個(gè)進(jìn)程

ps -aL

ps -aL 命令用于顯示系統(tǒng)中所有進(jìn)程的詳細(xì)信息,包括每個(gè)線程的信息。在 ps -aL 命令中,-a 選項(xiàng)表示顯示所有用戶的進(jìn)程,-L 選項(xiàng)表示顯示每個(gè)線程的信息。這樣,執(zhí)行該命令后會(huì)列出系統(tǒng)中所有進(jìn)程及其相關(guān)的線程信息。

事例

[BCH@hcss-ecs-6176 2_21]$ ps -aLPID   LWP TTY          TIME CMD//輕量級(jí)進(jìn)程
11501 11501 pts/5    00:00:00 testThread
11501 11503 pts/5    00:00:00 testThread
11780 11780 pts/1    00:00:00 ps
29191 29191 pts/2    00:00:00 top在pcb中有一個(gè)LWP字段,它和pid類似的

CPU調(diào)度的時(shí)候看的都是LWP

如果進(jìn)程里面只有一個(gè)pcb,那么這個(gè)線程的pid和lwp數(shù)值是一樣的

如果進(jìn)程里面只有多個(gè)pcb,那么這個(gè)主線程的pid和lwp數(shù)值是一樣的,其他線程的pcb和lwp是不一樣的

線程間通信的成本很低,因?yàn)樗麄児蚕淼氖峭环葙Y源,而進(jìn)程間通信的成本就比較高

線程之間切換,不用切換cpu中所有的寄存器

進(jìn)程之間切換,需要切換cpu中所有的寄存器

CPU 的局部性原理

CPU 的局部性原理是指在程序訪問(wèn)內(nèi)存時(shí),程序很可能會(huì)重復(fù)訪問(wèn)一組相鄰的內(nèi)存地址,而不是隨機(jī)地訪問(wèn)各個(gè)內(nèi)存地址。這種局部性原理通常分為兩種類型:時(shí)間局部性和空間局部性。

1. 時(shí)間局部性(Temporal Locality)

時(shí)間局部性是指如果一個(gè)數(shù)據(jù)被訪問(wèn)過(guò)一次,那么在不久的將來(lái)它可能會(huì)再次被訪問(wèn)。這意味著程序傾向于重復(fù)使用最近訪問(wèn)過(guò)的數(shù)據(jù)。CPU 利用時(shí)間局部性可以減少?gòu)膬?nèi)存中加載數(shù)據(jù)的次數(shù),提高程序的性能。

2. 空間局部性(Spatial Locality)

空間局部性是指如果一個(gè)數(shù)據(jù)被訪問(wèn)過(guò)一次,那么與該數(shù)據(jù)相鄰的數(shù)據(jù)也很可能會(huì)在不久的將來(lái)被訪問(wèn)。這意味著程序傾向于訪問(wèn)連續(xù)內(nèi)存地址中的數(shù)據(jù)。CPU 利用空間局部性可以通過(guò)預(yù)取緩存行等技術(shù)來(lái)提前加載相鄰數(shù)據(jù),減少訪問(wèn)延遲,進(jìn)而提高程序的性能。

cache:高速緩存

緩存的作用是提高 CPU 的性能。CPU 訪問(wèn)主內(nèi)存需要花費(fèi)很長(zhǎng)時(shí)間,而緩存可以存儲(chǔ) CPU 頻繁訪問(wèn)的指令和數(shù)據(jù),以便快速地響應(yīng) CPU 的訪問(wèn)請(qǐng)求。當(dāng) CPU 訪問(wèn)主內(nèi)存時(shí),如果所需數(shù)據(jù)已經(jīng)存儲(chǔ)在緩存中,則可以直接從緩存中獲取數(shù)據(jù),從而避免了訪問(wèn)主內(nèi)存所需的長(zhǎng)時(shí)間延遲。這種方式稱為緩存命中(cache hit)。

線程間切換,不需要切換cache

線程切換為什么效率高

1.寄存器切換的少

2.cache不需要重新切換

時(shí)間片也要被內(nèi)部的線程瓜分,時(shí)間片也是資源

?🌸🌸🌸如果大家還有不懂或者建議都可以發(fā)在評(píng)論區(qū),我們共同探討,共同學(xué)習(xí),共同進(jìn)步。謝謝大家! 🌸🌸🌸???

http://www.risenshineclean.com/news/29075.html

相關(guān)文章:

  • wordpress數(shù)據(jù)表開(kāi)頭小紅書(shū)seo排名規(guī)則
  • wordpress換域名換服務(wù)器寧波seo在線優(yōu)化
  • 長(zhǎng)沙網(wǎng)站搭建百度引流推廣費(fèi)用多少
  • 網(wǎng)站內(nèi)容建設(shè)ppt目前最新的營(yíng)銷方式有哪些
  • 東昌府網(wǎng)站建設(shè)公司營(yíng)銷對(duì)企業(yè)的重要性
  • 網(wǎng)站開(kāi)發(fā)必用代碼西安百度競(jìng)價(jià)托管代運(yùn)營(yíng)
  • 萊蕪 做網(wǎng)站 公司百度權(quán)重提升
  • 淮南網(wǎng)站建設(shè)好的公司百姓網(wǎng)推廣怎么收費(fèi)標(biāo)準(zhǔn)
  • 微網(wǎng)站入口sem和seo的關(guān)系
  • 旅游網(wǎng)站設(shè)計(jì)說(shuō)明書(shū)網(wǎng)絡(luò)營(yíng)銷推廣方案步驟
  • 做百度翻譯英文網(wǎng)站信息流廣告優(yōu)秀案例
  • 法治政府建設(shè)網(wǎng)站四川seo平臺(tái)
  • 大連做網(wǎng)站建設(shè)電腦編程培訓(xùn)學(xué)校哪家好
  • 濟(jì)南網(wǎng)站建設(shè)報(bào)價(jià)收錄網(wǎng)站排名
  • 新網(wǎng)站 不穩(wěn)定惠州seo代理商
  • 網(wǎng)站系統(tǒng)php源碼河南鄭州網(wǎng)站推廣優(yōu)化
  • 網(wǎng)站建設(shè)排版頁(yè)面網(wǎng)站排名前十
  • 杭州市人民政府網(wǎng)站seo培訓(xùn)學(xué)院
  • 網(wǎng)站突然打不開(kāi)是什么原因網(wǎng)絡(luò)營(yíng)銷策略包括哪些
  • 在線圖片編輯助手隨州seo
  • 招聘網(wǎng)站建設(shè)人員的要求搜索優(yōu)化
  • springmvc是做網(wǎng)站的嗎seo站長(zhǎng)網(wǎng)怎么下載
  • 臨沂做網(wǎng)站的杭州小程序建設(shè)公司
  • wordpress下載代碼刷關(guān)鍵詞排名seo軟件軟件
  • 做 在線觀看免費(fèi)網(wǎng)站網(wǎng)站投放廣告費(fèi)用
  • 網(wǎng)站 linux 服務(wù)器配置百度關(guān)鍵詞優(yōu)化曝光行者seo
  • 做雞蛋期貨看什么網(wǎng)站重慶關(guān)鍵詞排名首頁(yè)
  • linux 一鍵 WordPress網(wǎng)站免費(fèi)優(yōu)化軟件
  • 做一款推薦類的網(wǎng)站google搜索首頁(yè)
  • 網(wǎng)站制作加我百度客服電話號(hào)碼