91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++為什么盡量不要顯式共享可寫數據

發布時間:2021-11-25 16:11:10 來源:億速云 閱讀:128 作者:iii 欄目:大數據

這篇文章主要講解了“C++為什么盡量不要顯式共享可寫數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++為什么盡量不要顯式共享可寫數據”吧!

CP.3:盡量不要顯式共享可寫數據

Reason(原因)

如果不共享可寫數據,就不會發生數據競爭。你共享得越少,忘記同步訪問操作(并發生數據競爭)的可能性就越小。你共享得越少,等待鎖釋放的需求就越少(因而可以提高性能)。

Example(示例)

bool validate(const vector<Reading>&);
Graph<Temp_node> temperature_gradiants(const vector<Reading>&);
Image altitude_map(const vector<Reading>&);
// ...

void process_readings(const vector<Reading>& surface_readings)
{
   auto h2 = async([&] { if (!validate(surface_readings)) throw Invalid_data{}; });
   auto h3 = async([&] { return temperature_gradiants(surface_readings); });
   auto h4 = async([&] { return altitude_map(surface_readings); });
   // ...
   h2.get();
   auto v2 = h3.get();
   auto v3 = h4.get();
   // ...
}

如果沒有常量修飾符,我們必須檢查函數的所有的非同步調用以防止surface_readings發生潛在的數據競爭。在函數中將suface__readings定義為常量之后可以推斷出其在函數體內部的用法。

Note(注意)

無法修改的數據可以安全并高效地分享。不需要加鎖:數據競爭無法在常量數據上發生。參照:CP.mess:消息傳遞和CP.31:最好傳值。

感謝各位的閱讀,以上就是“C++為什么盡量不要顯式共享可寫數據”的內容了,經過本文的學習后,相信大家對C++為什么盡量不要顯式共享可寫數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

桂林市| 家居| 琼结县| 伊宁市| 澄城县| 左云县| 乌兰察布市| 喜德县| 南城县| 盘山县| 灵川县| 色达县| 饶阳县| 招远市| 梅州市| 隆昌县| 都兰县| 武山县| 周宁县| 长泰县| 项城市| 当阳市| 德化县| 黔东| 盐边县| 金秀| 凤庆县| 思茅市| 鹤山市| 阿鲁科尔沁旗| 南通市| 禄劝| 永城市| 维西| 尚志市| 麻江县| 五寨县| 商洛市| 龙南县| 防城港市| 南川市|