关注
public class PrintA_To_Z_2 {
public static volatile int i = 0;
public static Object obj = new Object();
public static boolean flag_A = true;
public static boolean flag_B = false;
public static boolean flag_C = false;
static class PrintThread_A implements Runnable{
@Override
public void run(){
while(i < 26){
if(flag_A){
synchronized (obj){
System.out.println(Thread.currentThread().getName() + (char)('A' + i));
++i;
flag_A = false;
flag_B = true;
}
}
}
}
}
static class PrintThread_B implements Runnable{
@Override
public void run(){
while(i < 26){
if(flag_B){
synchronized (obj){
System.out.println(Thread.currentThread().getName() + (char)('A' + i));
++i;
flag_B = false;
flag_C = true;
}
}
}
}
}
static class PrintThread_C implements Runnable{
@Override
public void run(){
while(i < 26){
if(flag_C){
synchronized (obj){
System.out.println(Thread.currentThread().getName() + (char)('A' + i));
++i;
flag_C = false;
flag_A = true;
}
}
}
}
}
public static void main(String[] args) throws Exception{
Thread t1 = new Thread(new PrintThread_A(), "1");
Thread t2 = new Thread(new PrintThread_B(), "2");
Thread t3 = new Thread(new PrintThread_C(), "3");
t1.start();
t2.start();
t3.start();
t1.join();
t2.join();
t3.join();
System.out.println("OK");
}
}
查看原帖
点赞 11
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 为了入行xx岗,我学了__ #
6316次浏览 109人参与
# 你都见过什么样的草台班子? #
7920次浏览 71人参与
# 实习的你做了哪些离谱的工作 #
9852次浏览 123人参与
# 被说“做题家”,你的反应是_____? #
2483次浏览 73人参与
# 简历第一个项目做什么 #
7432次浏览 116人参与
# 找实习记录 #
34245次浏览 548人参与
# 工作压力大,你会干什么? #
13979次浏览 320人参与
# Prompt分享 #
2790次浏览 84人参与
# 如果不上班,你会去做什么 #
7352次浏览 278人参与
# AI让你的思考变深了还是变浅了? #
4993次浏览 141人参与
# 邪修省钱套路 #
7712次浏览 247人参与
# 查收我的offer竞争力报告 #
268747次浏览 1662人参与
# 我的付费上班经历 #
14582次浏览 207人参与
# 机械人,秋招第一次笔试的企业是哪家? #
86268次浏览 621人参与
# 如果让你发明个APP,你会想做什么 #
2186次浏览 54人参与
# 秋招我要惩罚这些公司 #
8615次浏览 36人参与
# 参加哪些竞赛对找工作有帮助? #
8220次浏览 142人参与
# 大城市找工作会更容易吗 #
57024次浏览 377人参与
# 小厂实习有必要去吗 #
78133次浏览 369人参与
# 大厂VS公务员你怎么选 #
78108次浏览 691人参与