C++11尺度供給函數async,用于異步啟動線程,這可以知足良多的營業場景,是以,本文將連系例子來申明若何挪用async進行異步操作。
挪用async函數之前,需要添加頭文件future
 界說實現如下圖所示的線程回調函數,入參是字符串類型,返回值是整型
 挪用std::async,傳入回調函數以及回調函數對應的入參值,返回std::future類型對象,該對象用于獲取異步線程返回的值
 利用std::futrue的函數wait_for超時期待,按照返回的值來判定線程函數是否已經竣事
 std::futrue供給的函數get,可以獲取線程函數返回成果
 調試運行輸出的信息如下所示,從信息看合適預期,get獲取到線程函數返回的成果值
 可以采用如下的體例來輪回獲取異步線程執行的成果,若是返回timeout暗示超時,若是返回ready暗示使命完當作,若是返回deferred暗示還沒啟動線程
 運行成果如下,輪回查詢過程中,呈現一次timeout,表白線程函數還沒有執行完畢
 0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!