真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

多線程01:并發(fā)基本概念以及實現(xiàn)、進(jìn)程、線程基本概念

????并發(fā)基本概念以及實現(xiàn)、進(jìn)程、線程基本概念

一、并發(fā)、進(jìn)程、線程的基本概念和綜述

這些詳細(xì)概念具體去看os筆記;

公司主營業(yè)務(wù):網(wǎng)站設(shè)計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出環(huán)江免費做網(wǎng)站回饋大家。

1.1 并發(fā)

兩個或者更多的任務(wù)(獨立的活動)同時發(fā)生(進(jìn)行):一個程序同時執(zhí)行多個獨立的任務(wù);
以往計算機,單核cpu(中央處理器):某一個時刻只能執(zhí)行一個任務(wù),由操作系統(tǒng)調(diào)度,每秒鐘進(jìn)行多次所謂的“任務(wù)切換”。并發(fā)的假象(不是真正的并發(fā)),切換(上下文切換)時要保存變量的狀態(tài)、執(zhí)行進(jìn)度等,存在時間開銷;
多處理器計算機比如雙核,4核,8核,10核等,能夠?qū)崿F(xiàn)真正的并行執(zhí)行多個任務(wù)(硬件并發(fā));
使用并發(fā)的原因:主要就是同時可以干多個事,提高性能

1.2 可執(zhí)行程序

這是磁盤上的一個文件,windows下,擴(kuò)展名為.exe;linux下,命令ls -la,rwx(可讀可寫可執(zhí)行,最后以x結(jié)尾的文件)

1.3 進(jìn)程

運行一個可執(zhí)行程序:在windows下,可雙擊;在linux下,./文件名
進(jìn)程,一個可執(zhí)行程序運行起來了,就叫創(chuàng)建了一個進(jìn)程。進(jìn)程就是運行起來的可執(zhí)行程序。

1.4 線程

a)每個進(jìn)程(執(zhí)行起來的可執(zhí)行程序),都有唯一的一個主線程
b)當(dāng)執(zhí)行可執(zhí)行程序時,產(chǎn)生一個進(jìn)程后,這個主線程就隨著這個進(jìn)程默默啟動起來了
ctrl+F5運行這個程序的時候,實際上是進(jìn)程的主線程來執(zhí)行(調(diào)用)這個main函數(shù)中的代碼
線程:用來執(zhí)行代碼的。線程這個東西,可以理解為一條代碼的執(zhí)行通路,如下圖:

除了主線程之外,可以通過寫代碼來創(chuàng)建其他線程,其他線程走的是別的道路,甚至去不同的地方
每創(chuàng)建一個新線程,就可以在同一時刻,多干一個不同的事(多走一條不同的代碼執(zhí)行路徑)

多線程(并發(fā))
線程并不是越多越好,每個線程,都需要一個獨立的堆??臻g(大約1M),線程之間的切換要保存很多中間狀態(tài)(進(jìn)行線程上下文切換),切換也會耗費本該屬于程序運行的時間;
必須使用多線程的案例:

二、并發(fā)的實現(xiàn)方法

實現(xiàn)并發(fā)的手段:
a)通過多個進(jìn)程實現(xiàn)并發(fā)
b)在單獨的進(jìn)程中,寫代碼創(chuàng)建除了主線程之外的其他線程來實現(xiàn)并發(fā)

2.1 多進(jìn)程并發(fā)

比如賬號服務(wù)器一個進(jìn)程,游戲服務(wù)器一個進(jìn)程。
服務(wù)器進(jìn)程之間存在通信(同一個電腦上:管道,文件,消息隊列,共享內(nèi)存);(不同電腦上:socket通信技術(shù)),具體看os筆記;

2.2 多線程并發(fā)

線程:感覺像是輕量級的進(jìn)程。每個進(jìn)程有自己獨立的運行路徑,但一個進(jìn)程中的所有線程共享地址空間(共享內(nèi)存),全局變量、全局內(nèi)存、全局引用都可以在線程之間傳遞,所以多線程開銷遠(yuǎn)遠(yuǎn)小于多進(jìn)程

多進(jìn)程并發(fā)和多線程并發(fā)可以混合使用,但建議優(yōu)先考慮多線程技術(shù)

三、C++11新標(biāo)準(zhǔn)線程庫

以往在windows:CreateThread(), _beginthread(),_beginthreadexe()創(chuàng)建線程;linux:pthread_create()創(chuàng)建線程;不能跨平臺
后來POSIX thread(pthread):跨平臺,但要做一番配置,也不方便
當(dāng)下C++11新標(biāo)準(zhǔn),C++語言本身增加對多線程的支持,意味著可移植性(跨平臺),這大大減少開發(fā)人員的工作量;


文章標(biāo)題:多線程01:并發(fā)基本概念以及實現(xiàn)、進(jìn)程、線程基本概念
URL分享:http://weahome.cn/article/dsoipgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部