实现描述:建立三个线程A、B、C,分别按照顺序输出十次ABC
首先建立一个方法,按照条件进行输出
class PrintABC{
private int index=0;
public synchronized void print(int n) {
// TODO Auto-generated method stub
try {
while(index!=n) {
wait();
}
if(index==0) {
System.out.print("A");
}else if(index==1) {
System.out.print("B");
}else if(index==2) {
System.out.print("C");
}
index = (n+1)%3;
notifyAll();
}catch(Exception e) {
e.printStackTrace();
}
}
}
其后在建立三个线程,分别调用输出方法
public class AllThread {
private PrintABC printABC;
public AllThread(PrintABC printABC) {
this.printABC=printABC;
}
class ThreadA extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++) {
printABC.print(0);
}
}
}
class ThreadB extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++) {
printABC.print(1);
}
}
}
class ThreadC extends Thread{
@Override
public void run() {
for(int i=0;i<10;i++) {
printABC.print(2);
}
}
}
public static void main(String[] args) {
AllThread allThread = new AllThread(new PrintABC());
allThread.new ThreadA().start();
allThread.new ThreadB().start();
allThread.new ThreadC().start();
}
}
结果展示
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有