我目前正在尝试设计一种阻塞方法,直到字典中的值发生变化。这里我使用的是 WaitForOpenSpot 方法。这只是一个粗略的草图。我知道它目前不是线程安全的。我最终会在稍后添加锁定/解锁。现在我想知道是否有更好的方法来做到这一点?任何其他建议也将不胜感激。
Class AccountStatus
{
static bool OpenSpot = false;
static private Dictionary<String, int> Transfer = InitializeContainer();
static Dictionary<String , int> InitializeContainer ()
{
Dictionary<String, int> Transfer = new Dictionary<String, int>()
Transfer.add("stat",0);
}
static void Changestatus(string str , int val) //str = stat
{
Transfer[str] = val;
if(val == 1)
{
OpenSpot = true
}
}
static void WaitForOpenSpot()
{
while(!OpenSpot)
{
Thread.sleep(2);
}
}
}//end class