久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1471|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

有關(guān)線程安全

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-5 23:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
有關(guān)線程安全 1、可重入的概念
若一個(gè)程序或子程序可以安全的被并行執(zhí)行,則稱其為可重入(reentrant或re-entrant)的;即,當(dāng)該子程序正在運(yùn)行時(shí),可以再次進(jìn)入并執(zhí)行它。若一個(gè)函數(shù)是可重入的,則該函數(shù):
不能含有靜態(tài)(全局)非常量數(shù)據(jù)。
不能返回靜態(tài)(全局)非常量數(shù)據(jù)的地址。
只能處理由調(diào)用者提供的數(shù)據(jù)。
不能依賴于單實(shí)例模式資源的鎖。
不能調(diào)用不可重入的函數(shù)。
與線程安全的關(guān)系
可重入與線程安全兩個(gè)概念都關(guān)系到函數(shù)處理資源的方式。但是,他們有一定的區(qū)別。可重入概念會(huì)影響函數(shù)的外部接口,而線程安全只關(guān)心函數(shù)的實(shí)現(xiàn)。
大多數(shù)情況下,要將不可重入函數(shù)改為可重入的,需要修改函數(shù)接口,使得所有的數(shù)據(jù)都通過(guò)函數(shù)的調(diào)用者提供。
要將非線程安全的函數(shù)改為線程安全的,則只需要修改函數(shù)的實(shí)現(xiàn)部分。一般通過(guò)加入同步機(jī)制以保護(hù)共享的資源,使之不會(huì)被幾個(gè)進(jìn)程同時(shí)訪問(wèn)。
因此,相對(duì)線程安全來(lái)說(shuō),可重入性是更基本的特性,它可以保證線程安全:即,所有的可重入函數(shù)都是線程安全的,但并非所有的線程安全函數(shù)都是可重入的。
2、
調(diào)用一個(gè)函數(shù)(假設(shè)該函數(shù)是正確的)操作某對(duì)象常常會(huì)使該對(duì)象暫時(shí)陷入不可用的狀態(tài)(通常稱為不穩(wěn)定狀態(tài)),等到操作完全結(jié)束,該對(duì)象才會(huì)重新回到完全可用的狀態(tài)。如果其他線程企圖訪問(wèn)一個(gè)處于不可用狀態(tài)的對(duì)象,該對(duì)象將不能正確響應(yīng)從而產(chǎn)生無(wú)法預(yù)料的結(jié)果,如何避免這種情況發(fā)生是線程安全性的核心問(wèn)題。

一般準(zhǔn)則
  如果一個(gè)函數(shù)在其文檔中沒(méi)有特別注明具備線程安全性,則應(yīng)該認(rèn)為它不具備。許多庫(kù)大量使用了內(nèi)部的靜態(tài)數(shù)據(jù),除非它是為多線程應(yīng)用所設(shè)計(jì),否則要牢記其內(nèi)部數(shù)據(jù)可能沒(méi)有利用互斥量進(jìn)行適當(dāng)?shù)谋Wo(hù)。類似,如果類的成員函數(shù)在其文檔中沒(méi)有特別注明對(duì)于多線程應(yīng)用是安全的話,則認(rèn)為它不安全。兩個(gè)線程去操作相同的對(duì)象會(huì)引起問(wèn)題,這是顯而易見(jiàn)的,然而,即使兩個(gè)線程去操作不同的物體依然會(huì)引起問(wèn)題。出于多種原因,許多類使用了內(nèi)部靜態(tài)數(shù)據(jù)或者在多個(gè)看上去明顯不同的對(duì)象間共享實(shí)現(xiàn)細(xì)則,
  以下給出幾個(gè)一般準(zhǔn)則:
  操作系統(tǒng)提供的API具備線程安全性
  POSIX線程標(biāo)準(zhǔn)要求C標(biāo)準(zhǔn)庫(kù)中的大多數(shù)函數(shù)具備線程安全性,少數(shù)例外會(huì)在C標(biāo)準(zhǔn)中注明。
  對(duì)于Windows提供的C標(biāo)準(zhǔn)庫(kù),如果所使用的版本沒(méi)有問(wèn)題,而且進(jìn)行了正確的初始化,他們都是安全的。
  C++標(biāo)準(zhǔn)庫(kù)的線程安全性不是很明確,它在很大程度上依賴于使用的編譯器。標(biāo)準(zhǔn)模板庫(kù)線程安全性的SGI準(zhǔn)則作為實(shí)際中的標(biāo)準(zhǔn)取得很大進(jìn)展,但并不是統(tǒng)一的標(biāo)準(zhǔn)。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人三级在线观看 | 天堂免费av| 99久久国产视频 | 亚洲国产一区在线 | 69er小视频| 毛片毛片毛片 | 巨骚综合 | 国产成人在线免费观看 | 国产精品自拍一区 | 久久五月婷 | 玖玖在线播放 | 日韩精品免费视频 | 国产一区二区三区四区 | 免费av在线 | 肉丝美脚视频一区二区 | 欧美久久综合 | 伊人天堂网 | 中文字幕精品在线观看 | 国产成人在线播放 | 久久在线播放 | 精品国产乱码久久久久 | 国产亚洲视频在线观看 | 91视频精选 | 国产伦精品一区二区三毛 | 国产黄a三级三级看三级 | 四虎入口 | 手机av免费| 五月婷婷丁香综合 | 在线观看欧美日韩视频 | 成人毛片在线观看 | 黄色1级视频| 国产网站在线 | 亚洲成人免费观看 | 国产成人精品视频 | 成人在线小视频 | 成人影片在线 | 久久激情网 | 黄色av免费观看 | 18成人免费观看网站 | 黄色片一级片 | 国内黄色片 |