|
|
1
4
我想进一步说明“lc”提供的答案(这在其他方面是很好的)。 要使用他的方法,还需要将布尔标志标记为“volatile”。这将引入一个“内存屏障”,它将确保每次后台线程读取变量时,它都会从内存(而不是寄存器)中获取它,并且当变量被写入时,数据会在CPU缓存之间传输。 |
|
|
2
3
不要使用无限循环,而是使用可以由主类设置为循环条件的布尔标志。完成后,设置标志以便循环可以正常退出。如果你实施
你可以实现一个可取消的
如果你真的愿意,你可以给它一个时间窗口,让它在发出信号后自己完成。如果它没有终止,您可以中止线程,就像Windows在关机时所做的那样。
我之所以相信
|
|
|
3
0
|
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |