国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

concurrent

2018-05-03 22:12 更新

筆者能力有限,總結(jié)有誤的地方,請讀者協(xié)作更正。需要了解更多,請閱讀相關(guān)書籍。

1.談一談Concurrent并發(fā)工具包 ? Concurrent并發(fā)工具包是java1.5之后出現(xiàn)的,里面提供了很多和并發(fā)相關(guān)的工具,用于簡化多線程開發(fā)。

2.什么是BlockingQueue? 線程阻塞式隊列,用于一個線程產(chǎn)生產(chǎn)生對象,另一個線程消費對象這種使用場景。 可以用來實現(xiàn) 生產(chǎn)者-消費者機制; BlockingQueue有兩個實現(xiàn)類: |- ArrayBlockingQueue
實現(xiàn)里BlockingQuery接口,是一個有界的阻塞隊列,其內(nèi)部實現(xiàn)是將對象放到一個數(shù)組里。 |- LinkedBlockingQueue
實現(xiàn)里BlockingQuery接口,底層是鏈表,可以設(shè)置容量大小。

3.談一談ConcurrentMap? 是一個線程安全的Map, 有一個實現(xiàn)類ConcurrentHashMap; HashMap - 線程不安全 效率高 HashTable - 線程安全 效率低 已經(jīng)過時 不推薦使用 ConcurrentHashMap - 線程安全 效率比較高

ConcurrentHashMap效率: 鎖不是加載整個Map上,而是加在正在操作的桶上的,從而在桶的級別實現(xiàn)了并發(fā) 提高效率 引入和讀寫鎖,在并發(fā)讀的過程中 可以并發(fā) 提升效率

4.什么是ExecutorService -- ThreadPool ? 執(zhí)行器服務(wù)、線程池 線程池,用來共享線程,線程在需要的時候創(chuàng)建,用完后不銷毀,而是存入線程池,則后續(xù)再需要使用線程時,可以直接從池中獲取線程來使用,從而減少線程的開關(guān)次數(shù),提升程序的性能。 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler) corePoolSize 核心池大小 maximumPoolSize 最大池大小 keepAliveTime 空閑的多余線程保持時間 unit 時間單位 workQueue 阻塞式隊列 handler 拒絕服務(wù)助手

(2)通過工具類獲取常用的線程池實現(xiàn)
Executors newCachedThreadPool()
創(chuàng)建一個可根據(jù)需要創(chuàng)建新線程的線程池,但是在以前構(gòu)造的線程可用時將重用它們。對于執(zhí)行很多短期異步任務(wù)的程序而言,這些線程池通??商岣叱绦蛐阅堋?newFixedThreadPool(int nThreads) 創(chuàng)建一個可重用固定線程數(shù)的線程池 newSingleThreadExecutor() 創(chuàng)建一個單一線程的線程池

2.執(zhí)行任務(wù) execute(Runnable) Future submit(Runnable) //可以通過Future的get()方法來觀察任務(wù)是否執(zhí)行結(jié)束 Future submit(Callable) //可以用來觀察任務(wù)是否執(zhí)行結(jié)束 并且可以從線程內(nèi)部帶回返回值 invokeAny() invokeAll()

    
3.關(guān)閉線程池
    shutdown()
        ExecutorService 并不會立即關(guān)閉,但它將不再接受新的任務(wù),而且一旦所有線程都完成了當(dāng)前任務(wù)的時候,ExecutorService 將會關(guān)閉
    shutdownNow()
        這樣會立即嘗試停止所有執(zhí)行中的任務(wù), 并忽略掉那些已提交但尚未開始處理的任務(wù)。 無法擔(dān)保執(zhí)行任務(wù)的正確執(zhí)行??赡芩鼈儽煌V沽?,也可能已經(jīng)執(zhí)行結(jié)束。

5.什么是Lock鎖? 線程同步的機制 可以實現(xiàn)類似synchronized代碼塊的效果 但是比synchronized代碼更靈活 更簡單,兩個實現(xiàn)類:

  • ReentrantLock
    • ReadWriteLock

6.什么是柵欄? 賽馬,人到齊了一起跑

7.什么是閉鎖? 來一個,條件滿足,放行

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號