corepoolsize = n特點為固定執行緒池大小,缺點執行緒較多的時候會導致佇列等待執行緒較多,造成oommaximumpoolsize = n
keepalivetime = 0l
workqueue = linkedblockqueue
corepoolsize = 0特點為執行緒池可動態擴充套件,當執行緒池的執行緒不夠的時候,會建立執行緒,當空閒執行緒超過時間的時候,會**執行緒。 缺點:最大執行緒數量為interger.max_valus,執行執行緒過多的時候會oommaximumpoolsize = integer.max_value
keepalivetime = 60l
unit = second
workqueue = synchronousqueue
abortpolicy : 拒絕所有服務,直接拋異常callerrunspolicy : 只用呼叫者所在的執行緒來執行任務
discardpolicy : 不處理,直接丟棄掉任務
discardoldestpolicy : 丟棄掉阻塞佇列中存放時間最久的任務,執行當前任務
執行緒synchronized 例子
public class foo public int fix int y return x public class myrunnable implements runnable catch interruptedexception e system.out.println thread.curr...
執行緒同步synchronized
synchronized只是保證在同乙個時刻,其他執行緒不能訪問鎖定的資源,但是其他方法或者是變數不能鎖定控制的 synchronized obj 上面語法格式中synchronized後括號裡的obj就是同步監視器,上面 的含義是 執行緒開始執行同步 塊之前,必須先獲得對同步監視器的鎖定。任何時刻...
執行緒鎖 synchronized
使用 synchronized解決執行緒同步問題相比較nslock要簡單一些,日常開發中也更推薦使用此方法。首先選擇乙個物件作為同步物件 一般使用self 然後將 加鎖 爭奪資源的讀取 修改 放到 塊中。synchronized中的 執行時先檢查同步物件是否被另乙個執行緒占用,如果占用該執行緒就會處...