第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

malloc線程安全嗎?

malloc線程安全嗎?

C
素胚勾勒不出你 2019-08-27 10:46:31
malloc線程安全嗎?malloc()功能是否可重入?
查看完整描述

3 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

問題:“是malloc reentrant”嗎?
答:不,不是。以下是使例程重入的定義。

malloc的常見版本都不允許您重新輸入它(例如,來自信號(hào)處理程序)。請(qǐng)注意,可重入例程可能不使用鎖,并且現(xiàn)有的幾乎所有malloc版本都使用鎖(這使它們成為線程安全的)或全局/靜態(tài)變量(這使得它們不是線程不安全不可重入)。

到目前為止,所有的答案都回答“是malloc線程安全嗎?”,這是一個(gè)完全不同的問題。對(duì)于這個(gè)問題,答案是它取決于你的運(yùn)行時(shí)庫,也可能取決于你使用的編譯器標(biāo)志。在任何現(xiàn)代UNIX上,默認(rèn)情況下您將獲得一個(gè)線程安全的malloc。在Windows中,使用/MT/MTd,/MD/MDd標(biāo)志來獲得線程安全的運(yùn)行時(shí)庫。


查看完整回答
反對(duì) 回復(fù) 2019-08-27
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

這是一個(gè)非常古老的問題,我希望根據(jù)當(dāng)前的狀況帶來新鮮感。

是的,目前malloc()是線程安全的。

GNU C庫參考手冊(cè)glibc-2.20 [released 2014-09-07]

void * malloc (size_t size)

初步:MT-Safe | ...

...... 1.2.2.1 POSIX安全概念:

... MT-Safe或線程安全功能可以在其他線程存在的情況下安全地調(diào)用。在MT-Safe中,MT代表Multi Thread。

MT-Safe并不意味著函數(shù)是原子的,也不是它使用POSIX向用戶公開的任何內(nèi)存同步機(jī)制。甚至可能按順序調(diào)用MT-Safe功能也不會(huì)產(chǎn)生MT-Safe組合。例如,讓一個(gè)線程一個(gè)接一個(gè)地調(diào)用兩個(gè)MT-Safe函數(shù)并不能保證等同于兩個(gè)函數(shù)組合的原子執(zhí)行的行為,因?yàn)槠渌€程中的并發(fā)調(diào)用可能以破壞性方式干擾。

可以跨庫接口內(nèi)聯(lián)函數(shù)的整個(gè)程序優(yōu)化可能會(huì)暴露不安全的重新排序,因此不建議在GNU C庫接口上執(zhí)行內(nèi)聯(lián)。在全程序優(yōu)化下,無法保證記錄的MT安全狀態(tài)。但是,用戶可見標(biāo)頭中定義的功能旨在安全地進(jìn)行內(nèi)聯(lián)。


查看完整回答
反對(duì) 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 1136 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)