Re: [問題] reentrant vs. thread-safety
看板C_and_CPP (C/C++)作者descent (「雄辯是銀,沉默是金」)時間12年前 (2013/11/20 11:16)推噓4(4推 0噓 11→)留言15則, 7人參與討論串2/2 (看更多)
pthread 多緒程式設計 (p237) 關於這問題的描述,
簡單提一下 (詳細請參閱該書籍):
reentrant function: 不可使用 static, global data
thread safe: 使用 mutex 來保護 global data, 而 data 不一定是變數, 可能是檔案,
可能是某個週邊。
ref:
http://blog.xuite.net/jackie.xie/bluelove/46644355
可重入與執行緒安全這兩個概念,都與函數處理資源的方式有關。可重入與執行緒安全是
兩個獨立的概念,一個函數可以是可重入或是執行緒安全,或是同時滿足兩者,或是同時
不滿足兩者的。
這我比較想不懂, 我以為 thread safe 就一定也是 re-entrant。
※ 引述《nikeasyanzi (nikeasyanzi)》之銘言:
: 這比較像是OS的問題
: 但還是PO上來問問
: 想請問一下 reentrant vs. thread-safety 的差別
: 小弟我上網去看了一下 http://0rz.tw/dwWTD
: 但我困惑的是 網頁給出如下說明
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.239.46
推
11/20 12:22, , 1F
11/20 12:22, 1F
→
11/20 12:23, , 2F
11/20 12:23, 2F
→
11/20 12:33, , 3F
11/20 12:33, 3F
推
11/20 12:43, , 4F
11/20 12:43, 4F
→
11/20 12:43, , 5F
11/20 12:43, 5F
推
11/20 12:59, , 6F
11/20 12:59, 6F
→
11/20 12:59, , 7F
11/20 12:59, 7F
→
11/20 13:00, , 8F
11/20 13:00, 8F
這不是說明前一個 thread 還沒取得 lock, 後一個 thread 才會完成取得 lock 的動作,
並順利執行, 這樣會有問題嗎?
※ 編輯: descent 來自: 59.125.239.51 (11/20 14:42)
推
11/20 18:46, , 9F
11/20 18:46, 9F
→
11/20 22:01, , 10F
11/20 22:01, 10F
→
11/25 09:00, , 11F
11/25 09:00, 11F
→
11/25 09:01, , 12F
11/25 09:01, 12F
→
11/25 09:01, , 13F
11/25 09:01, 13F
→
11/25 09:04, , 14F
11/25 09:04, 14F
→
11/25 09:05, , 15F
11/25 09:05, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
17