如果執行緒經常喜歡去new的話是不對的,你需要乙個池子管理。
newcachedthreadpool 這個乙個帶快取的執行緒池,是個可以無限大的執行緒池,新建的執行緒放倒這個池子裡,當執行緒停掉了的時候,下個個執行緒進來,可以復用這個執行緒。
newfixedthreadpool 是個有長度的執行緒池,與上乙個不同的是,當執行緒超越某個長度的時候,新進來的執行緒就會排隊。執行緒池的大小最好匹配系統資源。按照系統資源來設定大小最好。
newscheduledthreadpool 可以執行週期性任務的定長線程池
newsinglethreadexecutor 任務按照指定順序(fifo, lifo, 優先順序)執行
用執行緒池實現昨天寫的那個例子
executorservice fixedthreadpool = executors.newfixedthreadpool(3);
future future = fixedthreadpool.submit(new runnable() catch (interruptedexception e) }}
});//觸發條件設定中斷
future.cancel(true);
java的執行緒和執行緒池
private void text2 start private void method2 catch interruptedexception e log.i qq thread.currentthread getname 結束 執行緒池 private void text3 private vo...
執行緒池 如何正確的關閉執行緒池
在呼叫這個關閉方法時,執行緒池會根據我們配置的拒絕策略來拒絕掉想要進來的執行緒,也就是說吧建立執行執行緒的入口給關閉掉了,直到執行緒池內的所有執行緒都執行完成。在呼叫這個方法完畢之後,並不代表這個執行緒池就真的都停掉了,只能說他不讓其他執行緒進來了,然後等到執行緒池內的執行緒執行完。shutdown...
java 執行緒和執行緒池對比
執行緒池的作用 執行緒池是為突發大量爆發的執行緒設計的,通過有限的幾個固定執行緒為大量的操作服務,減少了建立和銷毀執行緒所需要的時間,從而提高效率。如果乙個執行緒的時間非常長,就沒必須使用執行緒池了 不是不能作長時間操作,而是不適合 threadpool 中的執行緒不用手動開始,也不能手動取消,要做...