通过java并发的例子来讲解多线程编程的难度和特点

2018-02-10  本文已影响76人  每天学点编程

请关注我的微信公众号

个人微信公众号

技术交流群 (仅作技术交流):642646237

​请关注我的头条号:

Java并发

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

Java并发例子

运行结果也可能是:



在自己的电脑中多次运行以上程序,两种运行结果都可能会出现。

Thread.yield的作用

通知调度器:当前线程想要让出对处理器的占用。

如果不调用Thread.yield(),由于创建新线程要花费一些时间,那么main线程几乎肯定会先执行println()(当然并不保证一定会如此)。

结论

多线程编程很难的原因之一就是运行结果可能依赖于时序,多次运行的结果并不稳定。

并发编程中如果某事可能会发生,那么不论多艰难它一定会发生,而且可能发生在最不利的时刻。

上一篇 下一篇

猜你喜欢

热点阅读