1、通过Thread.join方法保证多线程的执行顺序,其内部是通过调用主线程的wait方法,使主线程等待;当子线程执行完成后,在唤醒主线程
2、通过Executors.newSingleThreadExecutor()方法创建一个FIFO线程队列,这样就也可以达到控制线程的执行顺序
创建线程的四种方式
1、继承 Thread
2、实现 Runnable 当子类实现Runnable接口,此时子类和Thread的代理模式,可以更好的体现共享的概念
3、实现Callable,有返回值
4、通过Executors线程池
参考链接:https://blog.csdn.net/weixin_41891854/article/details/81265772