美文网首页
java线程按照指定的顺序执行

java线程按照指定的顺序执行

作者: 夜雨听风_b3d5 | 来源:发表于2019-10-26 23:17 被阅读0次

    方式一、声明三个静态thread对象

    在通过.start()分别执行三个线程的时候,分别调用.join()方法。

             首先可以看到join方法是线程安全的,其次可以结合上图一起看,当传入参数为0时,会命中一个wait(0)的方法,有经验的同学应该能直接看懂,这里表示等待。但是需要说明的是,这里的等待绝对不是等待调用者,而是阻塞的主线程,t1,t2,t3只是子线程,当子线程运行完毕后,主线程结束等待。这里演示了join的工作方式,也证实了join能让我们在程序中达到自己想要的效果。

    方式二、 利用Executors线程池

          利用newSingleThreadExecutor()方法依然能够达到我们期待的效果,其实原理很简单,方法内部是一个基于FIFO的队列,也就是说,当我们依次将t1,t2,t3加入队列中时,实际在就绪状态的只有t1这个线程,t2,t3则会被添加到队列中,当t1执行完毕后,则会继续执行队列中的其他线程。

    文章摘自:https://blog.csdn.net/u010185035/article/details/81172767

    相关文章

      网友评论

          本文标题:java线程按照指定的顺序执行

          本文链接:https://www.haomeiwen.com/subject/ekzuvctx.html