亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java多線程應(yīng)用循環(huán)輸出ABC方式

 更新時間:2025年05月16日 14:08:16   作者:二六八  
這篇文章主要介紹了Java多線程應(yīng)用循環(huán)輸出ABC方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Java 多線程應(yīng)用循環(huán)輸出ABC

有三個線程ID分別是A、B、C,請用多線編程實(shí)現(xiàn),在屏幕上循環(huán)打印10次ABCABC

請補(bǔ)充以下代碼

public class Test { 
    public static void main(String[] args) { 
        MajusculeABC maj = new MajusculeABC(); 
        Thread t_a = new Thread(new Thread_ABC(maj , 'A')); 
        Thread t_b = new Thread(new Thread_ABC(maj , 'B')); 
        Thread t_c = new Thread(new Thread_ABC(maj , 'C')); 
        t_a.start(); 
        t_b.start(); 
        t_c.start(); 
    } 
} 
class MajusculeABC { 
請補(bǔ)充代碼
} 
class Thread_ABC implements Runnable {
請補(bǔ)充代碼
}

答案如下

public class ThreadTest {
    public static void main(String[] args) throws InterruptedException {
        MajusculeABC maj = new MajusculeABC();
        Thread t_a = new Thread(new Thread_ABC(maj , 'A'));
        Thread t_b = new Thread(new Thread_ABC(maj , 'B'));
        Thread t_c = new Thread(new Thread_ABC(maj , 'C'));
        t_a.start();
        t_b.start();
        t_c.start();
    }
    private static class MajusculeABC {
        //        請補(bǔ)充代碼
        public MajusculeABC() {
        }

        private int a = 1;

        private synchronized void print(int index, char s) throws InterruptedException {
            do {
                if (s == 'A' && a == 1) {
                    a++;
                    System.out.println(index+"---" + s);
                    notifyAll();
                    break;
                } else if (s == 'B' && a == 2) {
                    a++;
                    System.out.println(index+"---" + s);
                    notifyAll();
                    break;
                } else if (s == 'C' && a == 3) {
                    a = 1;
                    System.out.println(index+"---" + s);
                    notifyAll();
                    break;
                } else {
                    wait();
                }

            } while (true);

        }
    }

    private static class Thread_ABC implements Runnable {

        private char s;
        private MajusculeABC majusculeABC;

        //        請補(bǔ)充代碼
        public Thread_ABC(MajusculeABC majusculeABC, char s) {
            this.majusculeABC = majusculeABC;
            this.s = s;
        }

        @Override
        public void run() {
            for (int i = 0; i < 10; i++) {
                try {
                    majusculeABC.print(i, s);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}

輸出如下:

0---A
0---B
0---C
1---A
1---B
1---C
2---A
2---B
2---C
3---A
3---B
3---C
4---A
4---B
4---C
5---A
5---B
5---C
6---A
6---B
6---C
7---A
7---B
7---C
8---A
8---B
8---C
9---A
9---B
9---C

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java常用的數(shù)據(jù)脫敏方法(手機(jī)、郵箱、身份證號)

    Java常用的數(shù)據(jù)脫敏方法(手機(jī)、郵箱、身份證號)

    這篇文章主要給大家介紹了關(guān)于Java常用的數(shù)據(jù)脫敏(手機(jī)、郵箱、身份證號)的相關(guān)資料,信息脫敏對某些敏感信息通過脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù),需要的朋友可以參考下
    2023-07-07
  • mybatis?plus?MetaObjectHandler?不生效的解決

    mybatis?plus?MetaObjectHandler?不生效的解決

    今天使用mybatis-plus自動為更新和插入操作插入更新時間和插入時間,配置了MetaObjectHandler不生效,本文就來解決一下,具有一定的 參考價值,感興趣的可以了解一下
    2023-10-10
  • Spring Boot基于Active MQ實(shí)現(xiàn)整合JMS

    Spring Boot基于Active MQ實(shí)現(xiàn)整合JMS

    這篇文章主要介紹了Spring Boot基于Active MQ實(shí)現(xiàn)整合JMS,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Java將網(wǎng)絡(luò)圖片轉(zhuǎn)成輸入流以及將url轉(zhuǎn)成InputStream問題

    Java將網(wǎng)絡(luò)圖片轉(zhuǎn)成輸入流以及將url轉(zhuǎn)成InputStream問題

    這篇文章主要介紹了Java將網(wǎng)絡(luò)圖片轉(zhuǎn)成輸入流以及將url轉(zhuǎn)成InputStream問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程

    Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程

    Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程...
    2006-12-12
  • Java中通過反射實(shí)現(xiàn)代理Proxy代碼實(shí)例

    Java中通過反射實(shí)現(xiàn)代理Proxy代碼實(shí)例

    這篇文章主要介紹了Java中通過反射實(shí)現(xiàn)代理Proxy代碼實(shí)例,java實(shí)現(xiàn)代理可以通過java.lang.reflect.Proxy接口結(jié)合java.lang.reflect.InvocationHandler來實(shí)現(xiàn),需要的朋友可以參考下
    2023-08-08
  • mybatis-plus如何禁用一級緩存的方法

    mybatis-plus如何禁用一級緩存的方法

    這篇文章主要介紹了mybatis-plus如何禁用一級緩存的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring注解@Transactional失效的場景分析

    Spring注解@Transactional失效的場景分析

    在使用Spring中事務(wù)注解@Transactional時會存在幾種場景下該注解失效,即不能按照預(yù)期封裝成一個事務(wù)操作,于是本文文將對該注解進(jìn)行學(xué)習(xí)并對相關(guān)失效場景進(jìn)行分析,需要的朋友可以參考下
    2023-07-07
  • Java多線程——之一創(chuàng)建線程的四種方法

    Java多線程——之一創(chuàng)建線程的四種方法

    這篇文章主要介紹了Java創(chuàng)建線程方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringBoot利用EasyExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)

    SpringBoot利用EasyExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)

    EasyExcel是一個基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成Excel的讀、寫等功能看,本文就將介紹如何利用EasyExcel實(shí)現(xiàn)導(dǎo)出數(shù)據(jù),需要的朋友可以參考下
    2023-07-07

最新評論