Java中如何让多线程按照自己指定的顺序运行呢?
下文笔者讲述java代码让多线程按照指定顺序运行的方法分享,如下所示
实现思路: 使用Thread中join()方法,即可实现等待调用线程结束后 然后再继续运行的效果 从而使线程按顺序运行例:
public class JoinDemo extends Thread { int i; Thread previousThread; //上一个线程 public JoinDemo(Thread previousThread, int i) { this.previousThread = previousThread; this.i = i; } @Override public void run() { try { //调用上一个线程的join方法,自己演示的时候可以把这行代码注释掉 previousThread.join(); Object aa = new Object(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(previousThread.getName() + ", num:" + i); } public static void main(String[] args) { Thread previousThread = Thread.currentThread(); previousThread.setName("parent thread"); for (int i = 0; i < 10; i++) { JoinDemo joinDemo = new JoinDemo(previousThread, i); joinDemo.start(); previousThread = joinDemo; previousThread.setName("child thread " + i); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。