經典指數          
原因
2900
瀏覽數
0
收藏數
 

下面有關c++線程安全,說法錯誤的是?
  • 線程安全問題都是由全局變量及靜態變量引起的
  • 若每個線程中對全局變量、靜態變量只有讀操作,而無寫操作,一般來說,這個全局變量是線程安全的;若有多個線程同時執行寫操作,一般都需要考慮線程同步,否則的話就可能影響線程安全
  • c++標準庫里面的string保證是線程安全的
  • POSIX線程標準要求C標準庫中的大多數函數具備線程安全性

     舉報   糾錯  
該題目由題來君提供于 2015-10-08 16:50
 
切換
1 個答案

1.局部變量局部使用是安全的

為什么?因為每個thread 都有自己的運行堆棧,而局部變量是生存在堆棧中,大家不干擾。

2.全局原生變量多線程讀寫是不安全的 ?,

全局變量是在堆(heap)中。

3.函數靜態變量多線程讀寫也是不安全的。

4.volatile能保證全局整形變量是多線程安全的么?

不能。

volatile僅僅是告誡compiler不要對這個變量作優化,每次都要從memory取數值,而不是從register

5.InterlockedIncrement保證整型變量自增的原子性

寫好多線程安全的法寶就是封裝,使數據有保護的被訪問到

安全性:

局部變量 > 成員變量 > 全局變

舉報   題來君 · 2015-12-29 23:29
 
切換
撰寫答案
广西快三结果控 什么是配资炒股绩差股 浙江6+1体彩19032 安徽11选5遗漏数据在哪找 股票微信群哪个好 浙江15选5开结果查询 商品期货配资网 谁有加拿大28的网址 山东11选5开奖结果手机版 安徽11选5走势图彩经网 股票分析师工资