史上最全Java多線程面試題及答案

多線程有什麼用?程序員

線程和進程的區別是什麼?算法

Java實現線程有哪幾種方式?安全

啓動線程方法start()和run()有什麼區別?多線程

怎麼終止一個線程?如何優雅地終止線程?框架

一個線程的生命週期有哪幾種狀態?它們之間如何流轉的?.net

線程中的wait()和sleep()方法有什麼區別?線程

多線程同步有哪幾種方法?對象

什麼是死鎖?如何避免死鎖?blog

多線程之間如何進行通訊?接口

線程怎樣拿到返回結果?

violatile關鍵字的做用?

新建T一、T二、T3三個線程,如何保證它們按順序執行?

怎麼控制同一時間只有3個線程運行?

爲何要使用線程池?

經常使用的幾種線程池並講講其中的工做原理。

線程池啓動線程submit()和execute()方法有什麼不一樣?

CyclicBarrier和CountDownLatch的區別?

什麼是活鎖、飢餓、無鎖、死鎖?

什麼是原子性、可見性、有序性?

什麼是守護線程?有什麼用?

怎麼中斷一個線程?如何保證中斷業務不影響?

一個線程運行時發生異常會怎樣?

什麼是重入鎖?

Synchronized有哪幾種用法?

Fork/Join框架是幹什麼的?

線程數過多會形成什麼異常?

說說線程安全的和不安全的集合。

什麼是CAS算法?在多線程中有哪些應用。

怎麼檢測一個線程是否擁有鎖?

Jdk中排查多線程問題用什麼命令?

線程同步須要注意什麼?

線程wait()方法使用有什麼前提?

Fork/Join框架使用有哪些要注意的地方?

線程之間如何傳遞數據?

保證"可見性"有哪幾種方式?

說幾個經常使用的Lock接口實現鎖。

ThreadLocal是什麼?有什麼應用場景?

ReadWriteLock有什麼用?

FutureTask是什麼?

怎麼喚醒一個阻塞的線程?

不可變對象對多線程有什麼幫助?

多線程上下文切換是什麼意思?

Java中用到了什麼線程調度算法?

Thread.sleep(0)的做用是什麼?

Java內存模型是什麼,哪些區域是線程共享的,哪些是不共享的

什麼是樂觀鎖和悲觀鎖?

Hashtable的size()方法爲何要作同步?

同步方法和同步塊,哪一種更好?

什麼是自旋鎖?

Runnable和Thread用哪一個好?

Java中notify和notifyAll有什麼區別?

爲何wait/notify/notifyAll這些方法不在thread類裏面?

爲何wait和notify方法要在同步塊中調用?

爲何你應該在循環中檢查等待條件?

Java中堆和棧有什麼不一樣?

你如何在Java中獲取線程堆棧?

58 如何建立線程安全的單例模式?

http://blog.csdn.net/a347911/article/details/53321803

59 什麼是阻塞式方法?

60 提交任務時線程池隊列已滿會時發會生什麼?

這個問題問得很狡猾,許多程序員會認爲該任務會阻塞直到線程池隊列有空位。事實上若是一個任務不能被調度執行那麼ThreadPoolExecutor’s submit()方法將會拋出一個RejectedExecutionException異常。

相關文章
相關標籤/搜索