欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java面試線程和線程池6

孫舒陽1年前8瀏覽0評論

Java是一門非常流行的編程語言,在企業中使用廣泛。在Java面試中,線程和線程池也是常常被考察的知識點。接下來就讓我們一起來看看線程和線程池的相關知識。

線程是Java中的一個重要概念,它使得程序能夠同時執行多個任務。在Java中可以通過繼承Thread類或實現Runnable接口來創建線程。以下是一個通過繼承Thread類實現的簡單的線程代碼示例:

class MyThread extends Thread {
public void run() {
System.out.println("這是一個新線程。");
}
}
public class Test {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
System.out.println("這是主線程。");
}
}

上述代碼中,MyThread類繼承了Thread類,并覆蓋了它的run()方法。在run()方法中輸出了一句話。在main()方法中,我們創建了MyThread的實例,通過調用start()方法來啟動線程。執行start()方法后,新線程開始執行,同時主線程也繼續執行。

除了使用線程來實現并發,線程池也是常被使用的一種并發方式。線程池是一種可以預先創建一定數量的線程,在需要時直接使用的技術。Java中的線程池是通過ThreadPoolExecutor類實現的。以下是一個簡單的代碼示例:

ExecutorService pool = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10; i++) {
pool.execute(new Runnable() {
public void run() {
System.out.println("當前線程:" + Thread.currentThread().getName());
}
});
}
pool.shutdown();

上述代碼中,我們創建了一個大小為5的線程池。接著我們創建了10個Runnable對象,通過調用execute()方法來提交任務。每個任務中都輸出了當前線程的名稱。執行完10個任務后,我們調用了shutdown()方法來關閉線程池。shutdown()方法不會立即中斷正在執行的任務,而是等待已提交的任務執行完畢后再關閉線程池。