如何在TPL中检查变量是否已在其他线程中更改
问题描述:
我需要检查TPL程序中的变量是否已更改。例如,如果一个线程改变了一个易变的字符串变量,其他线程不需要改变它。由于变量的类型是易变的,所以其他线程可以使用它。我该怎么做?如何在TPL中检查变量是否已在其他线程中更改
答
-
volatile
可能不会做你认为它的作用。不要使用它,因为它没有给你你需要的东西。 - 你不能找出变量是否已经改变。也许你可以添加一个
bool wasChanged = false
,并在变量被写入时将其设置为true。请记住为此使用适当的同步(可能是lock
)。
我觉得在TPL中并不那么简单! – MT467 2013-03-18 20:13:26