我在這裏閱讀了許多關於線程安全性和重入性問題的答案,但是當我思考它們時,想到了更多的問題,因此提出了這個問題。併發執行/重入/線程安全/?
1.)我有一個可執行程序說一些* .exe。如果我在命令提示符下運行這個程序,並且它正在執行,我在另一個命令提示符下運行相同的程序,那麼在什麼情況下結果可能會被破壞,也就是說這個程序的代碼應該是可重入的還是應該是線程安全嗎? 2.)當定義重入時,我們說當程序已經運行時,程序可以重新進入,在什麼情況下函數可以重新進入(除了遞歸程序,我不是在說話遞歸執行)。必須有一些線程才能再次執行相同的代碼,或者再次輸入該函數的方式?
3.)在實際情況下,兩個線程是否會執行相同的代碼,即執行相同的功能。我認爲多線程的想法是同時執行不同的功能(在不同的核心/處理器上)。
對不起,如果這些查詢看起來不同,但他們都發生在我身上,同時當我讀到關於SO的線程安全Vs折返帖子,因此我把它們放在一起。
任何指針,閱讀材料將不勝感激。
謝謝,
-AD。
這不是重新進入:重入只不過是一些函數/方法同時執行多次的能力,仍然返回有效值的輸入參數。 – Mavrik 2010-01-26 18:26:45
是的,的確如此,雖然說「那不是重入」是不正確的。這個詞有兩個定義,我沒有意識到。看到我更新的答案。 – danben 2010-01-26 18:28:08