C#两个任务,A,B有标识位,当有A运行时候来B任务B放在队列等待,B在没有A任务的时候执行,当执行中来A就停

2025-05-05 19:35:26
推荐回答(3个)
回答1:

Queue datas;

增加的时候这样
lock(this) // 临界区
{
datas.Enqueue(val);
}

取的时候
lock(this) // 临界区
{
Object val = datas.Dequeue();
}
这样就不会乱了。

回答2:

lock(this){
执行方法。
}
lock里面的任务没有执行完前,所有的操作都是等待。

回答3:

你其实是要Thread的Resume和Suspend方法吧?这两个方法用起来有点隐患,你要悠着点用,确保程序结构不会碰到那些隐患。