这次探究直接用同步卖票的例子来分析(每个线程只能卖100张):
运行结果:没用使用join()前,交替卖票
运行结果:前100张票都是线程0在卖,等线程0结束了以后,线程1和线程2才开始交替卖票
运行结果:线程0和线程1交替卖票,线程0结束后线程2才开始卖票
上面的例子看不出线程0和线程1的关系,所以把卖票中睡眠时间改成0
运行结果: 线程0和线程1依旧交替卖票,线程0卖完了线程2就可以开始卖票,后面就是线程1和线程2交替卖票
总结:join()方法可以 使还没启动的线程(线程2) 等待调用join()方法的线程(线程0)执行完 才启动线程(线程2);join()方法不会影响已经启动了的线程(线程1)