2010-09-23 61 views
0

我搞砸了多個線程訪問資源(可能是內存)。在這種情況下,「回讀」是什麼意思?「回讀」在計算機內存方面意味着什麼?

任何指南都會有幫助... Google沒有給我任何好的結果。

+0

不是一個我聽說過的術語,除了「回讀」存儲在某個地方的值 - 您能夠提供任何上下文嗎? – 2010-09-23 19:37:32

回答

2

我可以想到「回讀」的幾種可能的含義。這是最有可能的;在多線程環境中,在線程從內存中讀取值並將更改後的值寫回內存之間會發生很多事情。檢測變化的一種簡單但有效的方法就是在寫入之前再次從內存中獲取值,並且如果它從您開始使用的值開始改變,您知道有人在您工作時更改了它。

「回讀」也可以指「可重複讀取」,其中使用鎖定機制來確保在原子集操作的範圍內,只有獲得資源鎖定的線程才能讀取或寫入確保沒有其他線程可以改變任務所期望的值,如果它運行單線程的話。這樣,一個線程不必檢測外部變化;鎖定機構防止發生這樣的事情。

1

當我遇到該術語時,通常是在將值寫入 的寄存器或內存位置的情況下,該位置也可能被其他軟件或硬件訪問。要檢查是否有其他人更改了它,您可能會保留一份專用的 副本,並在一段時間後讀取該共享寄存器或內存位置 以將其當前值與存儲的專用副本進行比較。這是「回讀」。