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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

有關(guān)線程安全

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

一般準(zhǔn)則
  如果一個函數(shù)在其文檔中沒有特別注明具備線程安全性,則應(yīng)該認(rèn)為它不具備。許多庫大量使用了內(nèi)部的靜態(tài)數(shù)據(jù),除非它是為多線程應(yīng)用所設(shè)計(jì),否則要牢記其內(nèi)部數(shù)據(jù)可能沒有利用互斥量進(jìn)行適當(dāng)?shù)谋Wo(hù)。類似,如果類的成員函數(shù)在其文檔中沒有特別注明對于多線程應(yīng)用是安全的話,則認(rèn)為它不安全。兩個線程去操作相同的對象會引起問題,這是顯而易見的,然而,即使兩個線程去操作不同的物體依然會引起問題。出于多種原因,許多類使用了內(nèi)部靜態(tài)數(shù)據(jù)或者在多個看上去明顯不同的對象間共享實(shí)現(xiàn)細(xì)則,
  以下給出幾個一般準(zhǔn)則:
  操作系統(tǒng)提供的API具備線程安全性
  POSIX線程標(biāo)準(zhǔn)要求C標(biāo)準(zhǔn)庫中的大多數(shù)函數(shù)具備線程安全性,少數(shù)例外會在C標(biāo)準(zhǔn)中注明。
  對于Windows提供的C標(biāo)準(zhǔn)庫,如果所使用的版本沒有問題,而且進(jìn)行了正確的初始化,他們都是安全的。
  C++標(biāo)準(zhǔn)庫的線程安全性不是很明確,它在很大程度上依賴于使用的編譯器。標(biāo)準(zhǔn)模板庫線程安全性的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一区二区在线观看 | 欧美一区二区三区 | 免费中文字幕日韩欧美 | 亚洲精品免费在线 | 亚洲视频免费在线观看 | 欧美亚洲国产一区二区三区 | 成人免费视频网站在线观看 | 成人亚洲精品久久久久软件 | 亚洲欧美在线观看视频 | 国产一区不卡 | 91av在线视频观看 | 亚洲视频在线看 | av影音资源 | 国产精品久久国产精品 | 久久国产麻豆 | 三级在线视频 | 黑人一级黄色大片 | 亚洲成av人片在线观看无码 | 极品一区| 成人国产精品色哟哟 | 久久久网 | 亚洲男人天堂2024 | аⅴ资源新版在线天堂 | 一级a性色生活片久久毛片波多野 | 99精品在线| 成人免费视频网站在线观看 | 色偷偷噜噜噜亚洲男人 | 久久久久国产一级毛片 | 国产精品久久久久久久午夜片 | 国产精品久久久久久久久久久久午夜片 | 日韩精品一区二区三区中文字幕 | 在线日韩欧美 | 国产乱码精品一品二品 | 欧美色性 | 亚洲aⅴ精品 | 99tv| 国产精品成人在线观看 | 精品久久久一区二区 |