线程延时问题
多线程在多循环语句中,一条线程运行结束并改变判断的值,
但是在运行时还未更改判断的值前,又运行一条线程,两条线程同时运行线程语句,那么上一个线程未更改的值会和下一条线程相同
原因:
设每次运行两条线程,那么
线程1、线程2 -> 先后判断条件 -> 满足条件同时运行语句 -> 线程1输出语句 -> 线程2输出语句 ->线程1更改判断值 ->其他线程不通过。两个线程计算“=”
线程1、线程2 -> 先后判断条件 -> 满足条件同时运行语句 -> 线程1输出语句 -> 线程1更改判断值 -> 其他语句不通过 -> 线程2输出语句。第二个线程计算为第一个的“-1”
本文探讨了多线程环境中因线程切换导致的数据一致性问题。特别是在多循环语句中,两条线程可能同时运行并修改同一变量,造成计算错误。文章详细分析了这一现象的原因,并提供了理解该问题的背景。
4187

被折叠的 条评论
为什么被折叠?



