2009年6月9日 星期二

Reentrant code

LINUX一開始,第一章裡的一個重點: Reentrant function

non-self-modifying code. If code is reentrant, then it never changes during execution. 即程式執行時自己不能改自己的程式碼。但最標準的 reentrant code 是指,在一個多工環境下,一個 process A 在執行一個程式 x,執行到一半因為context switch 或一些原因而暫停,或 process B 來執行 x,B 做一做後A又回來繼續做,這時A仍然可以得到正確的結果。故 reentrant code 不但自己不能修改自己,而且也不能去修改 external 的變數。

沒有留言:

張貼留言