執行緒通訊的目標是使執行緒間能夠互相傳送訊號。另一方面,執行緒通訊使執行緒能夠等待其他執行緒的訊號。在wait()/notify()機制中,不要使用全域性物件,字串常量等。應該使用對應唯一的物件。
生產者/消費者模式實現:
等待/通知模式最經典的案例就是「生產者/消費者」模式。
1、生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。
2、消費者僅僅在倉儲有產品時候才能消費,倉空則等待。
3、當消費者發現倉儲沒產品可消費時候會通知生產者生產。
4、生產者在生產出可消費產品時候,應該通知等待的消費者去消費。
通過管道進行執行緒通訊:位元組流
管道流:pipestream
pipedinputstream、pipedoutputstream
pipedreader、pipedwriter
通過管道進行執行緒通訊:字元流
join方法(之前總結過了)
類threadlocal的使用
每個執行緒中的共享變數:每個執行緒繫結自己的值(比喻成全域性存放資料的盒子,盒子中可以存放每個執行緒的私有資料)(執行緒變數具有隔離性)
類threadlocal的使用
讓子執行緒從父執行緒中取得值;
《java 多執行緒程式設計核心技術》讀書筆記六
reentrantlock reentrantreadwritelock reentrantlock lock unlock 這兩個方法之間的 為執行緒同步執行 持有相同鎖的方法均為同步執行 condition await 等同 object中的wait signal 等同object中的notif...
《java多執行緒程式設計核心技術》核心筆記 一
執行緒具有優先順序 執行緒的優先順序具有繼承特性。被呼叫者繼承呼叫者的優先順序 優先順序高的執行緒 絕大部分會現執行 方法內的變數是執行緒安全的。多個執行緒訪問同乙個物件的同步方法時,一定是執行緒安全的。synchronized取得的是物件鎖 多個執行緒訪問乙個物件 synchronized 如果乙...
《java多執行緒程式設計技術核心》 讀書筆記4
等待通知機制wait notify 的用法 class mythread1 extends thread public void run catch interruptedexception e class mythread2 extends thread public void run publi...