1

我需要检查 TPL 程序中的变量是否已更改。例如,如果一个线程更改了一个 volatile 字符串变量,其他线程不需要更改它。由于变量的类型是 volatile 其他线程可以使用它。我该怎么做?

4

2 回答 2

3
  1. volatile可能不会像您认为的那样做。不要使用它,因为它不能给你你需要的东西。
  2. 您无法确定变量是否已像那样更改。也许您可以bool wasChanged = false在写入变量时添加 a 并将其设置为 true。请记住为此使用正确的同步(可能lock)。
于 2013-03-18T20:10:25.570 回答
2

考虑到变量类型的限制,检查共享变量与其预期值的可靠方法是使用互锁操作。

于 2013-03-18T20:11:22.967 回答