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);
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


