当前位置:   article > 正文

有三个线程 T1,T2,T3,怎么确保它们按顺序执行?_有三个线程t1,t2,t3,怎么确保它们按顺序执行?

有三个线程t1,t2,t3,怎么确保它们按顺序执行?
package com.atguigu.test;

public class Test1 {

	public static void main(String[] args) {
		ThreadA threadA = new ThreadA();
		ThreadB threadB = new ThreadB(threadA);
		ThreadC threadC = new ThreadC(threadB);

		threadA.start();
		threadB.start();
		threadC.start();

	}

}

class ThreadA extends Thread {
	@Override
	public void run() {
		System.out.println("线程A");
	}
}

class ThreadB extends Thread {
	Thread threadA;

	public ThreadB() {
		// TODO Auto-generated constructor stub
	}

	public ThreadB(Thread threadA) {
		this.threadA = threadA;
	}

	@Override
	public void run() {
		try {
			threadA.join();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("线程B");
	}
}

class ThreadC extends Thread {
	Thread threadB;

	public ThreadC(Thread threadB) {
		this.threadB = threadB;
	}

	@Override
	public void run() {
		try {
			threadB.join();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("线程C");
	}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

思路:
1.先在主线程开启三个线程。
2.分别向线程2传入线程1,线程3传入线程2,从而分别对它们实现控制。

这样也可以


public class Thread006 {
 
	public static void main(String[] args) {
		Thread thread = new Thread(new Runnable() {
 
			@Override
			public void run() {
				for (int i = 0; i < 30; i++) {
					System.out.println("我是t1线程,i" + i);
				}
 
			}
		});
 
		Thread thread2 = new Thread(new Runnable() {
 
			@Override
			public void run() {
				try {
					thread.join();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				for (int i = 0; i < 30; i++) {
					System.out.println("我是t2线程,i" + i);
				}
 
			}
		});
 
		Thread thread3 = new Thread(new Runnable() {
 
			@Override
			public void run() {
				try {
					thread2.join();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				for (int i = 0; i < 30; i++) {
					System.out.println("我是t3线程,i" + i);
				}
 
			}
		});
 
		thread.start();
		thread2.start();
		thread3.start();
 
	}
 
}
 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/804969
推荐阅读
相关标签
  

闽ICP备14008679号