java NIO和Concurrent包的一些知識點
1. NIO ByteBuffer快取 ByteBuffer.allocate(); put() 寫資料 get() 讀資料 limit() 得到limit position() 得到position capicity() 得到capicity remaining() limit-position hasRemaining() limit-position>0?true:false rewind()將position置為0 reset()將position重置為 mark()上次的位置 mark() clear()清空緩衝區,並不是真正的緩衝區,修改buffer的相應的引數 Channel通道 2.java.util.concurrent 1.BlockingQuene (ArrayListBlockingQueue,LinkedBlockingQueue)阻塞佇列 存放執行緒處理的資料 2.ConcurrentMap 鎖的範圍更加小不是整個map 而是部分 引入了讀寫鎖的機制 3.CountDownLatch 閉鎖 。是concurrent提供的包,可以協調執行緒執行的過程, 實現協調某個執行緒阻塞知道其他若干執行緒達到一定條件才放開阻塞執行的效果 使用 等待時間呼叫 CountDownLatch.await(), 其他先要完成的執行緒呼叫 CountDownLatch.countDown() 4.CyclicBarrier 柵欄 可以實現多個併發的執行緒在執行過程中,在某一個節點進行阻塞等待,直到所有的執行緒 都到達指定的位置後,才一起發開阻塞繼續執行 建構函式初始化要等待執行緒的個數,然後呼叫CyclicBarrier.await() 5.Exchanger 交換機 可以實現連個執行緒交換物件,先到的執行緒會出現阻塞,直到兩個執行緒到達交換機後, 互相交換物件,各自繼續執行 6.Semaphore 訊號量 建構函式Semaphore(int) Semaphore(int,boolean) 不公平策略 主要函式 acquire(); 後的訊號量,無則阻塞,release()釋放訊號訊號量 7.ExecuteService 執行緒池 Executors.newFixedThreadPool() Executors.newCachedThreadpool() Executors.newSingletonThreadPool() Executors.newScheduledThreadPool() 執行緒池 1.ExecutorService 提交執行緒的方法 execute() 提交執行緒 沒有返回值 submit(Runnable) 提交執行緒,返回Future 可以透過Future.get()得到該執行緒的狀態, 但是如果該執行緒未執行完成,那麼該方法阻塞 submit(Callable) 同上面類似,但是執行緒可以帶有返回值 invokeAny(.....),隨機選擇執行緒執行一個 invokeAll(),自動執行所有的執行緒 關閉執行緒池:ExecutorService.shutdown();該方法不再接受執行緒池,等待所有執行緒 執行完畢後,執行緒池結束。 ExecutorService.shutdown();立即關閉,退出任務,正在執行的執行緒可能會出錯。 2.ReadWriteLock 讀寫鎖 讀鎖可以共享,寫鎖互斥 讀鎖 readLock().lock(); 寫鎖 writeLock().lock();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2200356/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- day1 java concurrent包一些知識點Java
- Java中類的一些知識點Java
- java中的介面一些知識點———— 程式碼Java
- 資源包的一些知識
- Java併發---concurrent包Java
- mysql的一些知識點MySql
- CGI的一些知識點
- Jquery的一些知識點jQuery
- 一些cookie的知識點Cookie
- 從 BIO、NIO 到 Netty【前置知識點】Netty
- PLSQL一些常用的知識點SQL
- 雜湊的一些知識點
- java.uitl.concurrent包研究JavaUI
- Java類和物件知識點總結Java物件
- java小知識點Java
- Java與C/C++不同的一些基礎知識點JavaC++
- 關於Java IO與NIO知識都在這裡Java
- JavaEE進階知識學習----Java NIO-4Java
- 關於AP的一些知識點
- vue的一些基礎知識點Vue
- RHCE考試的一些知識點
- JAVA之Concurrent包書目錄Java
- Java SE中的一些基礎知識點截圖說明Java
- Vue一些知識點總結Vue
- 【JAVA】- 知識點小結Java
- Java 知識點總結Java
- Java 反射【前置知識點】Java反射
- java基礎知識點Java
- java知識點-高階Java
- java Web知識點(2)JavaWeb
- Java知識點總結Java
- Java知識點學習Java
- java知識點彙總Java
- java 重寫知識點Java
- java 多型知識點Java多型
- 關於網頁的一些小知識點網頁
- jQuery常用的一些知識點總結jQuery
- DIM中的一些知識點(慢更)