2010-09-23 199 views
0

我搞砸了多个线程访问资源(可能是内存)。在这种情况下,“回读”是什么意思?“回读”在计算机内存方面意味着什么?

任何指南都会有帮助... Google没有给我任何好的结果。

+0

不是一个我听说过的术语,除了“回读”存储在某个地方的值 - 您能够提供任何上下文吗? – 2010-09-23 19:37:32

回答

2

我可以想到“回读”的几种可能的含义。这是最有可能的;在多线程环境中,在线程从内存中读取值并将更改后的值写回内存之间会发生很多事情。检测变化的一种简单但有效的方法就是在写入之前再次从内存中获取值,并且如果它从您开始使用的值开始改变,您知道有人在您工作时更改了它。

“回读”也可以指“可重复读取”,其中使用锁定机制来确保在原子集操作的范围内,只有获得资源锁定的线程才能读取或写入确保没有其他线程可以改变任务所期望的值,如果它运行单线程的话。这样,一个线程不必检测外部变化;锁定机构防止发生这样的事情。

1

当我遇到该术语时,通常是在将值写入 的寄存器或内存位置的情况下,该位置也可能被其他软件或硬件访问。要检查是否有其他人更改了它,您可能会保留一份专用的 副本,并在一段时间后读取该共享寄存器或内存位置 以将其当前值与存储的专用副本进行比较。这是“回读”。