java 多线程示例,分析多个线程执行流程?

图片说明
图片说明
图片说明
图片说明
请教,能否按照截图上的分析多线程执行流程的这种方式,分析一下,正确的多个线程的执行流程应该是什么样的?
如有指点,非常感谢.

5个回答

你这里是多个线程共享变量count,但是它又不是volatile类型,因而各个线程对count操作后,并不能马上让其他线程看到修改后的数据,再加上指令重排等优化,因而count的输出是完全没有规律的,可以输出任何可能的数据

StoneGoo
StoneGoo 也就是说无法根据打印的结果反推出多个线程的执行流程,是这样吗?
3 年多之前 回复

每个线程之间的执行顺序 在没有同步或者互斥的情况下,都是随机的

StoneGoo
StoneGoo 你好,我想问是不是无法根据打印结果反推出多个线程的执行流程?
3 年多之前 回复

你是五个线程共同访问同一个资源数据(count = 5),你开启了五个线程,但是对共享资源池没有加限制,就是说,当线程1正在执行时,线程5也在执行,可能5执行的速度比较快,所以5先执行完,所以你就无法根据打印结果反推出线程的执行流程,除非你增加线程排它锁,只允许一个线程执行。
http://blog.csdn.net/Gui_m/article/details/71649852这是我的多线程的介绍,你看下。

多线程的特性之一就是无序性

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐