最近看到一個多線程面試題,有三個線程分別打印A、B、C,請用多線程編程實現(xiàn),在屏幕上循環(huán)打印10次ABCABC… 

  看到這個題目,首先想到的是解決方法是定義一個Integer類對象,初始化為0,由3個線程共享,如果Integer對象取余3之后等于0,則打印A,同時進行加1操作;如果Integer對象取3之后等于1,則打印B,同時進行加1操作;如果Integer對象取3之后等于1,則打印C,如果循環(huán)打印了10次的話,就退出線程。

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

/**
 * ThreeThread
 * 3個線程測試 */public class ThreeThread {    public static void main(String[] args) throws InterruptedException {
        Integer gData   = 0;
        Thread  thread1 = new MyTask(gData, 0, "A");
        Thread  thread2 = new MyTask(gData, 1, "B");
        Thread  thread3 = new MyTask(gData, 2, "C");

        thread1.start();
        thread2.start();
        thread3.start();

        thread1.join();
        thread2.join();
        thread3.join();
    }

}class MyTask extends Thread {    private Integer gData;    private int  &
        
		

網(wǎng)友評論