2014-08-27 51 views
-1

當我閱讀關於calloc reference in cppreference中calloc的引用時,發現了以下我沒有得到的提示。你能舉一些我列出的關於c11標準calloc的技巧來幫助我理解它們嗎?

  • 釋放calloc是線程安全的:它的行爲就好像只有通過其參數存取存儲器位置可見,並沒有任何靜態存儲。

  • 以前調用自由realloc的即解除分配的存儲器的區域同步-與到釋放calloc一個呼叫分配相同的或相同的存儲器區域的一部分。此同步發生在之後通過釋放函數任何通過calloc訪問內存。

你能舉個例子來幫助理解嗎?

回答

1

這只是說,如果你在多線程環境中使用它(很多線程在同一時間運行,並且所有分配或釋放或重新分配內存像瘋了一樣沒有問題),calloc將工作得很好。

由於並非所有C和C++函數都提供了這種保證,因此需要在文檔中提及。通常你應該假定當沒有提到線程安全時,它不是線程安全的。

+0

我知道一個叫**線程安全**的東西,我可以在有人談論它的時候挑出它,但是我沒有多線程編程實踐。BTW,你忘記告訴我你對第二個問題的看法在我的問題提示。 – waterd 2014-08-28 11:55:03

相關問題