新聞中心
C++thread的接口有哪些?

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供臨滄企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為臨滄眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
C++的thread標(biāo)準(zhǔn)庫中提供了以下常用的接口:
1. 構(gòu)造函數(shù):用于創(chuàng)建一個(gè)新的線程對(duì)象。
2. join():等待一個(gè)線程完成執(zhí)行。
3. detach():將線程分離,使其在完成執(zhí)行后自動(dòng)釋放資源。
4. get_id():獲取線程的唯一標(biāo)識(shí)符。
5. native_handle():獲取底層操作系統(tǒng)的原始線程句柄。
6. swap():交換兩個(gè)線程的內(nèi)容。
7. hardware_concurrency():返回當(dāng)前系統(tǒng)支持的最大線程并行度。
8. yield():將線程從運(yùn)行狀態(tài)轉(zhuǎn)移到就緒狀態(tài),以便其他線程運(yùn)行。
9. sleep_for():使當(dāng)前線程休眠一段指定的時(shí)間。c++11的std::thread能用類的成員函數(shù)構(gòu)造一個(gè)線程嗎?語法怎樣?
std::thread thrd_name(std::mem_fn(&MyClass::run), 對(duì)象名, iPara)
如果run是靜態(tài)成員函數(shù)就不用寫對(duì)象名了thread local什么時(shí)候使用?
thread_local 是 C++ 11 新引入的一種存儲(chǔ)類型,它會(huì)影響變量的存儲(chǔ)周期。 C++ 中有 4 種存儲(chǔ)周期: 有且只有 thread_local 關(guān)鍵字修飾的變量具有線程(thread)周期,這些變量在線程開始的時(shí)候被生成,在線程結(jié)束的時(shí)候被銷毀,并且每一個(gè)線程都擁有一個(gè)獨(dú)立的變量實(shí)例。 thread_local 一般用于需要保證線程安全的函數(shù)中。 需要注意的一點(diǎn)是,如果類的成員函數(shù)內(nèi)定義了 thread_local 變量,則對(duì)于同一個(gè)線程內(nèi)的該類的多個(gè)對(duì)象都會(huì)共享一個(gè)變量實(shí)例,并且只會(huì)在第一次執(zhí)行這個(gè)成員函數(shù)時(shí)初始化這個(gè)變量實(shí)例,這一點(diǎn)是跟類的靜態(tài)成員變量類似的。 下面用一些測(cè)試樣例說明:case 1: 輸出: case 2: 輸出:C++線程完成功能后自動(dòng)執(zhí)行MFC某個(gè)按鈕函數(shù)?
為什么要執(zhí)行按鈕函數(shù)?
我的理解是,按鈕按下 會(huì)產(chǎn)生一個(gè)消息,消息處理程序會(huì)根據(jù)這個(gè)消息,做出相應(yīng)動(dòng)作。你這時(shí)候沒有按下按鈕,是否可以人工加入 ,使用postmessage函數(shù)。
網(wǎng)站標(biāo)題:c++thread怎么使用
文章源于:http://m.fisionsoft.com.cn/article/djhpshe.html


咨詢
建站咨詢
