请关注我的微信公众号
个人微信公众号
技术交流群 (仅作技术交流):642646237
请关注我的头条号:
Java并发
Java并发的基本单元是线程,可以将线程看作控制流(thread of control)。
线程之间通过共享内存进行通信。
Java并发例子
运行结果也可能是:
在自己的电脑中多次运行以上程序,两种运行结果都可能会出现。
Thread.yield
的作用
通知调度器:当前线程想要让出对处理器的占用。
如果不调用Thread.yield()
,由于创建新线程要花费一些时间,那么main
线程几乎肯定会先执行println()
(当然并不保证一定会如此)。
结论
多线程编程很难的原因之一就是运行结果可能依赖于时序,多次运行的结果并不稳定。
并发编程中如果某事可能会发生,那么不论多艰难它一定会发生,而且可能发生在最不利的时刻。
网友评论