1. 操作相同時,寫乙個 runnable 實現類,內部設定成員變數,run 方法修改該變數,將該runnable傳給不同thread使用;
2. 操作不同時,在thread呼叫類例項化乙個資料例項,傳遞給不同runnable處理,再把不同的runnable傳給不同thread使用;
3. 在thread呼叫類例項化乙個資料例項,使用內部runnable類直接訪問該資料例項進行處理,再把runnable傳給不同thread使用;
注意:根據需要,共享變數往往需要 synchronized 同步資料操作。
例子:
public class datatest6
}class inc implements runnable}}
class dec implements runnable}}
private synchronized void inc()
private synchronized void dec()
}
多執行緒 執行緒內區域性變數
該類提供了執行緒內區域性 thread local 變數。好比有兩個視窗 兩個執行緒 乙個視窗可以拿飲料,乙個視窗可以拿食物。現在有多個人要來拿東西,如果在飲料視窗有的人拿到了飲料,有的人拿到了不該拿的食物,就說明執行緒之間出現了混亂,我們應當避免這種情況出現。以下 就可能會出現執行緒混亂的問題 p...
ThreadLocal執行緒區域性變數 多執行緒與高併發
threadlocal執行緒區域性變數,實現了將物件變數儲存在特定的執行緒物件中,僅對當前執行緒可見。我們在測試程式中,乙個執行緒往threadlocal物件中放置物件,然後另乙個物件來取物件取不到。public class testthreadlocal catch interruptedexce...
方法內部多執行緒呼叫區域性變數問題
問題場景 方法內部多執行緒呼叫內部區域性變數集合,併發寫入資料庫,集合執行緒間隔離 執行緒呼叫完畢就需要清空集合 資料不重複寫入問題 核心 片段 class threadsync implements runnable override public void run esrestclient.ge...