我需要检查 TPL 程序中的变量是否已更改。例如,如果一个线程更改了一个 volatile 字符串变量,其他线程不需要更改它。由于变量的类型是 volatile 其他线程可以使用它。我该怎么做?
问问题
114 次
2 回答
3
volatile
可能不会像您认为的那样做。不要使用它,因为它不能给你你需要的东西。- 您无法确定变量是否已像那样更改。也许您可以
bool wasChanged = false
在写入变量时添加 a 并将其设置为 true。请记住为此使用正确的同步(可能lock
)。
于 2013-03-18T20:10:25.570 回答
2
考虑到变量类型的限制,检查共享变量与其预期值的可靠方法是使用互锁操作。
于 2013-03-18T20:11:22.967 回答