日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java面试题 并发_Java 并发面试题(一)

發布時間:2025/4/5 java 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java面试题 并发_Java 并发面试题(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我招聘和找工作的過程中,java 并發是非常重要的考察內容。

這篇文章中的面試題目來自并發編程,非常好的學習網站,題目來源?http://ifeve.com/javaconcurrency-interview-questions-base/

a. 多線程基礎

0.?java中有幾種方法可以實現一個線程?

在我招聘的過程中,大部分面試者都只能回答繼承 ?Thread 類,這個回答是不能讓面試官滿意的。由于 java 的單繼承特性,如果繼承 Thread 類之后,自身創建的線程類就失去了靈活性,因此更好的方法是實現 Runnable 接口,實際上 Thread 類也是實現了 Runnable 接口。

那么如何啟動線程呢?先看 Thread 類

1 public class MyThread extendsThread {2

3 @Override4 public voidrun() {5 System.out.println(currentThread().getId() + " ----> running");6 }7

8 public static voidmain(String[] args) {9 Thread th1 = newMyThread();10 Thread th2 = newMyThread();11 th1.start();12 th2.start();13 }14 }

運行結果:

9 ---->running10 ----> running

從這個簡單的例子可以看出,Thread 類啟動線程是通過調用 start() 方法實現的,而 Runnable 接口只提供了 run() 方法。所以第二個問題來了

1. start() 方法和 run() 有什么區別?

從 JDK 7 文檔中可以看到 start() 方法創建了一個新的線程并調用了 run() 方法,如果直接在代碼中調用 run() 方法,那么實際上是在當前線程執行而沒有創建新的線程。

那么如何啟動實現 Runnable 接口的線程呢?可以對上面的例子進行修改,Thread 類的構造方法可以允許傳入一個 Runnable 對象,利用這一點

總結

以上是生活随笔為你收集整理的java面试题 并发_Java 并发面试题(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。