通过java并发的例子来讲解多线程编程的难度和特点
2018-02-10 本文已影响76人
每天学点编程
请关注我的微信公众号

个人微信公众号
技术交流群 (仅作技术交流):642646237

请关注我的头条号:


Java并发
Java并发的基本单元是线程,可以将线程看作控制流(thread of control)。
线程之间通过共享内存进行通信。
Java并发例子

运行结果也可能是:

在自己的电脑中多次运行以上程序,两种运行结果都可能会出现。
Thread.yield
的作用
通知调度器:当前线程想要让出对处理器的占用。
如果不调用Thread.yield()
,由于创建新线程要花费一些时间,那么main
线程几乎肯定会先执行println()
(当然并不保证一定会如此)。
结论
多线程编程很难的原因之一就是运行结果可能依赖于时序,多次运行的结果并不稳定。
并发编程中如果某事可能会发生,那么不论多艰难它一定会发生,而且可能发生在最不利的时刻。