【发布时间】:2015-01-17 23:15:58
【问题描述】:
我有以下代码:
private DateTime lastUploadActivityTime = DateTime.Now;
private void HttpSendProgress(object sender, HttpProgressEventArgs e)
{
// update variable
lastUploadActivityTime = DateTime.Now;
......
boolThreadAvailableTargetSiteActive = false;
}
// this method is executed in different thread, than method above
private void ThreadCheckAvailableTargetSite()
{
while (boolThreadAvailableTargetSiteActive)
{
if (lastUploadActivityTime.AddSeconds(5) <= DateTime.Now)
{
MessageBox.Show("BREAK");
boolThreadAvailableTargetSiteActive = false;
}
Thread.Sleep(500);
}
}
我需要在第一种方法(lastUploadActivityTime = DateTime.Now;)中阻止变量 lastUploadActivityTime,以防止在第二种方法(lastUploadActivityTime.AddSeconds(5) <= DateTime.Now)中读取 lastUploadActivityTime。我该怎么做? Mutex 是否帮助我防止读取变量?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# multithreading mutex