【发布时间】:2011-05-08 12:00:14
【问题描述】:
同时读/写单个变量的真正危险是什么?
如果我在while循环中使用一个线程写入一个变量,另一个线程读取该变量,并且如果在写入时读取变量并使用旧值并没有危险,这里还有什么危险?
同时读取/写入是否会导致线程崩溃或发生精确同时读取/写入时在低级别会发生什么?
【问题讨论】:
-
“使用旧值”不是一个相当重要的问题吗?如果您不关心其中一个变量的值,您到底在计算什么? :D
-
你甚至不能可靠地count了,你有什么算法可以在变量发生不可预测的变化时存活下来?不,即使是随机数生成器也不符合条件。
-
我正在使用 while 条件和额外的迭代进行循环,或者如果 while 条件接收到垃圾数据,它将传递 == 0 并且无论如何循环都会退出。它是一个在while循环中循环的看门狗线程,检查线程是否已死。当线程函数完成时,它设置变量 = 1 并且 while 循环退出。