亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

線程安全與可重入

線程安全與可重入

撒科打諢 2019-12-09 15:00:11
最近,我問了一個問題,標題為“ malloc線程安全嗎?” ,然后我問:“ malloc是否可重入?”我的印象是所有重入者都是線程安全的。這個假設錯了嗎?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

這取決于定義。例如,Qt使用以下內容:


即使調用使用共享數據,也可以從多個線程同時調用線程安全*函數,因為對共享數據的所有引用都已序列化。


一個可重入函數也可以從多個線程同時調用,但只有當每個調用使用自己的數據。


因此,線程安全函數始終是可重入的,但是重入函數并不總是線程安全的。


通過擴展,如果可以從多個線程安全地調用其成員函數,則該類稱為可重入的,只要每個線程使用該類的不同實例即可。如果可以從多個線程安全地調用其成員函數,則該類是線程安全的,即使所有線程都使用該類的相同實例也是如此。


但他們也警告:


注意:多線程域中的術語尚未完全標準化。POSIX使用可重入和線程安全的定義,這些定義對其C API有所不同。當將其他面向對象的C ++類庫與Qt一起使用時,請確保理解定義。


查看完整回答
反對 回復 2019-12-09
  • 3 回答
  • 0 關注
  • 767 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號