java多线程---顺序打印ABC的三种实现---join方法

原创 2016年05月31日 15:37:06

使用join方法,让三个线程之间存在等待关系

代码如下:

package com.zcj.join;

public class JoinTest {
    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() {
		// TODO Auto-generated method stub
		System.out.println("A");
	}
	
}
class ThreadB extends Thread{
	 private ThreadA threadA;
	   public ThreadB(ThreadA threadA){
		   this.threadA =threadA;
	   }
		@Override
		public void run() {
			// TODO Auto-generated method stub
			try {
				threadA.join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("B");
		}
		
	}
class ThreadC extends Thread{
	   private ThreadB threadB;
	   public ThreadC(ThreadB threadB){
		   this.threadB =threadB;
	   }
		@Override
		public void run() {
			// TODO Auto-generated method stub
			try {
				threadB.join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("C");
		}
}
运行结果:

A
B
C



版权声明:本文为博主原创文章,未经博主允许不得转载。

顺序打印ABC------java多线程的一道经典面试题

这是迅雷的一道面试题,顺序打印ABC十次。 源代码如下 public class PrintABC { public static Boolean isThreadA = true; pub...
  • shinehuaking2011
  • shinehuaking2011
  • 2012年10月25日 18:59
  • 8630

java多线程---顺序打印ABC的三种实现---synchronized方式

利用同步锁,这种方式存在问题就是唤醒的过程中不能指定我说需要唤醒的线程,导致同一个锁上的线程都唤醒了 代码如下: package com.zcj.thread; import java.util.c...
  • whu_zcj
  • whu_zcj
  • 2016年05月27日 16:52
  • 2007

Windows多线程按顺序打印ABC

#include #include #include const int NUM = 3; int nCount = 0; HANDLE g_Mutex = NULL; HANDLE g_E...
  • MBSHENG
  • MBSHENG
  • 2016年07月13日 15:01
  • 409

java多线程顺序打印ABCD四个字母

我最近意识到自己java多线程这块需要好好学习一下,下面是我实现的java通4个线程顺序打印ABCD四个字母,第一个线程打印A,第二个线程打印B,第三个线程打印C,第四个线程打印D。 我说一下我的思路...
  • u012681635
  • u012681635
  • 2017年07月05日 18:05
  • 679

三个线程ABC,交替打印ABC

synchronized 问题为三线程间的同步唤醒操作,主要的目的就是ThreadA->ThreadB->ThreadC→ThreadA……循环执行三个线程。为了控制线程执行的顺序,那么就必须要确定...
  • LuckyBug007
  • LuckyBug007
  • 2017年04月11日 15:04
  • 2428

写一个程序三个线程分别输出A,B,C, 顺序输出ABC十次,用java实现

类似于模拟信号量: public class ABCThread { public static void main(String[] args) { ABCThread threadTest = n...
  • qq1509334304
  • qq1509334304
  • 2016年10月09日 13:04
  • 218

java 实现3个线程 依次打印ABC,并且循环10次

网上看到一个题目,要求3个线程依次打印ABC,并且循环10次,网上的版本比较多,这个是我实现的一个版本,共用一个Runnable对象,有点小缺陷,无法关联线程的名 字。 package com.myt...
  • pingnanlee
  • pingnanlee
  • 2013年07月25日 15:03
  • 8368

java多线程顺序执行并顺序输出ABC问题

1.有A、B、C、D四个线程,A线程输出A, B线程输出B, C线程输出C,D线程输出D,要求, 同时启动四个线程, 按顺序输出ABCD; 本题主要通过join方法来实现顺序输出ABCD。 代码如下:...
  • BeauXie
  • BeauXie
  • 2016年11月03日 11:15
  • 2501

java多线程顺序打印ABC

在JAVA中,是没有类似于PV操作、进程互斥等相关的方法的。JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的...
  • qingjiaoforever
  • qingjiaoforever
  • 2014年10月22日 16:24
  • 1865

用三个线程按顺序循环打印abc 三个字母,比如abcabcabc

线程类package threadPool.printABC; import java.util.concurrent.atomic.AtomicInteger; import java.util....
  • Big_Blogger
  • Big_Blogger
  • 2017年03月24日 11:59
  • 1278
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java多线程---顺序打印ABC的三种实现---join方法
举报原因:
原因补充:

(最多只允许输入30个字)