|
|
1
1
实施
更像这样
|
|
|
2
0
我发现了问题。这真是一个愚蠢的决定。。。
让我们看一下主线。 InternalLock.Set()在任务调度程序线程上设置块并说“继续”。假设任务调度器中的任务只有1。想象一下这种可能的情况 1) 第一步
任务调度器-调度
3) 第三步
4) 第四步
任务调度器-调度
在第四步,主线程中的调度增加了调度变量。这样,while并没有结束,而是导致了代码中的所有干扰(以及死锁)。 我通过简单地在InternalLock.Set()之后添加一个中断来修复;
谢谢 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 11 月前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 11 月前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 11 月前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |