标签: multithreading synchronization
我对多线程非常陌生。我有2个线程t1,t2。每个线程调用的整数计数为1000次。所以最终输出应该是2000。 如果我使用t1.join(); t2.join();它应该返回2000。因为join将确保t2将在t1之后运行。
但是为什么它不发生,如果连接确保顺序,我们为什么需要同步?
答案 0 :(得分:0)
join()不会启动线程(当您调用join()时已经启动了,因此join不能“确保顺序”)。它等待线程结束。但是,在等待线程结束时,其他线程也可以运行。