如何在TPL中检查变量是否在其他线程中被更改

本文关键字:线程 其他 变量 TPL 检查 是否 | 更新日期: 2023-09-27 18:04:28

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

如何在TPL中检查变量是否在其他线程中被更改

  1. volatile可能并不像你想象的那样。不要使用它,因为它不能给你你所需要的。
  2. 你无法发现一个变量是否被这样改变了。也许您可以添加一个bool wasChanged = false,并在写入变量时将其设置为true。记住使用适当的同步(可能是lock)。

在给定变量类型限制的情况下,检查共享变量与其期望值的可靠方法是使用互锁操作。