欧美日韩在线第一页-欧美日韩在线观看精品-欧美日韩在线观看一区二区-欧美日韩在线免费看-欧美日韩在线视频不卡一区二区三区

編程代碼
新聞詳情

C++11多線程編程(一)——初始多線程

發(fā)布時(shí)間:2020-12-31 15:30:23 瀏覽次數(shù):2192

首先還是那個(gè)問(wèn)題,我們?yōu)槭裁葱枰嗑€程?單線程編程做的好好的,又簡(jiǎn)單又好用,為什么要弄出一個(gè)多線程編程呢?難道前人是為了設(shè)計(jì)而設(shè)計(jì)了個(gè)多線程的?顯然這是不可能,那么是什么原因呢?用最精煉的語(yǔ)言概括無(wú)非就是以下兩個(gè)原因。

效率和用戶體驗(yàn)

效率主要體現(xiàn)在服務(wù)端,用戶體驗(yàn)更多是體現(xiàn)在客戶端,當(dāng)然肯定不是說(shuō)效率只體現(xiàn)在服務(wù)端,用戶體驗(yàn)只體現(xiàn)在客戶端,無(wú)論是效率還是用戶體驗(yàn)在服務(wù)端和客戶端上都會(huì)體現(xiàn),只是說(shuō)側(cè)重點(diǎn)不一樣,這一點(diǎn)大家要注意下。


那么多線程到底是什么呢?在計(jì)算機(jī)術(shù)語(yǔ)中也可以叫并發(fā),指的是在單個(gè)系統(tǒng)里同時(shí)執(zhí)行多個(gè)獨(dú)立的活動(dòng),而不是順序的一個(gè)接一個(gè)的執(zhí)行。假設(shè)這樣的一個(gè)場(chǎng)景,你在一個(gè)軟件中要導(dǎo)入100萬(wàn)條的數(shù)據(jù),如果你用單線程,那么你在導(dǎo)入的過(guò)程中,你只能等待它導(dǎo)完,其他什么事你都做不了,因?yàn)檐浖?huì)卡在那里,之所以卡在那里,是因?yàn)檐浖锩嬖趥鬏敂?shù)據(jù),而你是用單線程,數(shù)據(jù)還沒(méi)傳輸完,下面的代碼無(wú)法執(zhí)行。所以這個(gè)時(shí)候你必須用多線程,開(kāi)啟一個(gè)線程來(lái)導(dǎo)入這100萬(wàn)條數(shù)據(jù),這樣才能保證在導(dǎo)入數(shù)據(jù)的同時(shí),你還可以在軟件上做其他操作。

大家要注意一點(diǎn),在單核CPU上面,并發(fā)并不是真正的并發(fā),而是通過(guò)時(shí)間片輪詢的方式來(lái)看起來(lái)像是并發(fā),真正的并發(fā)應(yīng)該是在多核CPU上面。

說(shuō)完了多線程的相關(guān)概念,我們來(lái)說(shuō)一說(shuō)多線程編程。在早期C++11之前,C++在語(yǔ)言級(jí)別上并不支持多線程,要想實(shí)現(xiàn)多線程,必須通過(guò)第三方庫(kù)或者調(diào)用平臺(tái)系統(tǒng)函數(shù)來(lái)實(shí)現(xiàn)的,而不同平臺(tái)的多線程的系統(tǒng)函數(shù)又都不一樣,所以給多線程編程帶來(lái)了很多麻煩。但是從C++11開(kāi)始,C++終于開(kāi)始在語(yǔ)言級(jí)別上支持多線程,我們也終于可以用一份代碼在多個(gè)平臺(tái)上跑了。

那么C++如何實(shí)現(xiàn)線程呢?以下是一個(gè)實(shí)現(xiàn)線程的簡(jiǎn)單的例子

#include <iostream>
#include <thread>
using namespace std;
void thread_task()
{
    cout << "hello thread" << endl;
}

int main()
{
    thread t(thread_task);
    t.join();
    cout << "thread end" << endl;
    return 0;
}

thread t(thread_task)這個(gè)是打開(kāi)C++多線程世界的一個(gè)最簡(jiǎn)單也是最基礎(chǔ)的一行代碼,從此C++開(kāi)始從語(yǔ)言級(jí)別上支持了多線程。

以上是一個(gè)非常簡(jiǎn)單的C++多線程的例子,main函數(shù)是主線程,thread_task是子線程,thread t(thread_task)意思是啟動(dòng)這個(gè)子線程,join()會(huì)使主線程會(huì)被阻塞,直到子線程執(zhí)行完畢,然后才退程序。

所以從這個(gè)例子大家可以看出C++多線程寫(xiě)法是多么的簡(jiǎn)潔,讓人充滿的學(xué)習(xí)的欲望。

在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13310869691
主站蜘蛛池模板: 国产三级在线播放不卡| 一区二区三区www| 五级黄色片| 乡下女色又黄一级毛片| 九九亚洲精品自拍| a高清免费毛片久久| 中文字幕 国产精品| 亚洲天天做日日做天天看2018| 亚洲美女综合网| 日韩黄色大片免费看| 乱淫的女高中h| 国产亚洲精品精品国产亚洲综合 | 欧美日视频| 久久精品国产69国产精品亚洲| 国产欧美成人一区二区三区| 草草久| 韩日在线| 国产情侣啪啪| 国产91在线chines看| 欧美一级高清在线观看| 成年免费大片黄在线观看一| 亚洲无吗在线视频| 女人一级一级毛片| 999热在线精品观看全部| 亚洲美女一区| 麻豆视传媒短视频网站-欢迎您| 国产小视频国产精品| 6080欧美一区二区三区四区| 天干天干夜天干天天爽| 欧美成人伊人久久综合网| 国产亚洲欧洲精品| 激情777| 国产精品久久久久久影视| 国产a毛片清高视频| 网址黄色| 日韩一级二级三级| www成人国产在线观看网站| 亚洲国产午夜精品乱码| 欧美v在线| 国产91第一页| 草草视频在线观看|