我需要检查 TPL 程序中的变量是否已更改。例如,如果一个线程更改了一个 volatile 字符串变量,则其他线程不需要更改它。由于变量的类型是可变的,其他线程可以使用它。我该怎么做?
最佳答案
volatile
可能并不像您认为的那样。不要使用它,因为它不能满足您的需求。- 您不能像那样查明变量是否已更改。也许您可以添加一个
bool wasChanged = false
并在写入变量时将其设置为 true。请记住为此使用适当的同步(可能是lock
)。
关于c# - 如何在 TPL 中检查变量是否已在其他线程中更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485930/