經典指數          
原因
2660
瀏覽數
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
 
切換
撰寫答案
守望英雄送彩金 股票每日推荐网 上期开特肖下期12码 10分快3大小方法 广西快乐十分今日开奖结果 秒速飞艇是不是官方 河北十一选五遗漏 内蒙古11选5分布走势图 一码一波中特资料 上海哈灵麻将最新版本 中国体育彩票中奖地址 新疆时时彩五星综合走势图 云南十一选五开奘结 竞彩网足彩比分 浙江体育彩票20选5走势图 比利时足球 星悦陕西麻将官方下载