跳至主要内容

Thread 之 join() 方法

今儿实际写项目的时候,发现某个操作在多线程下,怎么也得不到正确的结果,明明已经对变量使用原子类了。

折腾半天,找到了答案:主线程未拿到子线程应该返回的正确的值,换句话说,子线程操作是没问题的,但是主线程的操作在子线程完成之前就执行了,没有拿到正确的值。

解决办法:用上 join() 方法,阻塞主线程,等待子线程完成后,再继续执行之后的代码。

参考了以下博客:


评论