執行緒與內部類

2021-08-31 02:13:39 字數 1080 閱讀 5658

昨天面試的一道上機題

我做錯了

題目是這樣的,設計4個執行緒,兩個加1,兩個減1。

當時由於不知道內部類怎麼用,就把執行緒都寫成靜態的了,回來看了一下內部類的用法。寫了一下:

public class threads

}class threada extends thread

}class threadb extends thread}}

執行那個結果

+++1

+++2

---1

---0

用concurrent包,簡單一點。

public class threads

};

// 往執行緒池中新增任務,執行緒開始處理這些任務

ex.execute(task);

}

// 減 一

for (int i = 0; i < 2; i++)

};

// 往執行緒池中新增任務,執行緒開始處理這些任務

ex.execute(task);

}

// 關閉執行緒池,不會阻塞主線程的執行【這裡是main執行緒】

ex.shutdown();

} }

執行結果是

++2++1

--1--0

上面的是否有上面問題,哪位給指正一下。

發現,概念的東西記得再多,也不及親自動手實踐。

補充:對於thread和runnable的區別一直只限於,乙個是繼承thread類,乙個是現實runnable介面,重來沒有注意他們的建立的不同

threada a = new threada(); //runnable實現

thread mythread = new thread(a);

mythread.start();

threadb b= new threadb(); //thread實現

b.start();

內部類與匿名內部類

內部類 內建類,巢狀類。將類定義在另乙個類中,該類就是內部類。類中定義的類中就是內部類。其實類的定義位置發生了一點小變化。訪問方式 內部可以直接訪問外部類中的成員。外部類想要訪問內部類,需要建立內部類物件。什麼時候定義內部類呢?當分析乙個事物時,該事物的內部還有具體的事物,這個具體的事物在使用該事物...

內部類與匿名內部類

內部類 定義 在類中定義乙個類,那麼這個類就是內部類。內部類的定義格式 成員方法 1.通過外部類方法,建立內部類物件,呼叫內部類方法。2.外部類.內部類 物件名 new 外部類 內部類 成員變數 1.外部類的成員變數,內部類中直接使用。2.內部類的成員變數,外部類不能直接訪問。需要建立內部類物件,用...

Java內部類與匿名內部類

定義在類中方法之外的內部類分為例項內部類和靜態內部類.例項內部類自動持有外部類的例項的引用,即可以訪問外部類的所有變數 靜態內部類可以直接訪問外部類的靜態成員 定義在方法中的內部類叫區域性內部類,該類只能訪問被final修飾的區域性變數和引數 介面定義如下 inte ce super 例子1 pub...