用於提交任務,executor將執行緒的建立與執行機制進行解偶
public
inte***ce executor
我們定義乙個任務,然後自己建立執行緒去執行任務,這樣執行緒的建立就與任務執行產生了耦和。
public
class
executortest
static
class
myrunnable
implements
runnable
}}輸出:
執行我的任務
使用executor,我們只需要建立任務,然後由executor代替我們去建立執行緒去執行任務。
public
class
executortest
static
class
myrunnable
implements
runnable
}static
class
taskexecutor
implements
executor
}}輸出:
執行我的任務
但是executor並不嚴格要求任務執行是非同步的(大多數情況是非同步執行),executor可以在當前執行緒立即執行任務,比如:
public
class
directexecutor
implements
executor
}
而executor通常也不是自己去建立執行緒,而是通過執行緒工廠來進行建立執行緒,比如threadpertaskexecutor組合了乙個執行緒工廠,把執行緒的建立交給執行緒工廠
public
final
class
threadpertaskexecutor
implements
executor else
}public
void
execute(runnable command)
}
通過threadfactory建立執行緒,threadfactory不僅僅是建立執行緒,還會設定執行緒組、執行緒的名字、執行緒的優先順序等等
static
class
defaultthreadfactory
implements
threadfactory
public thread newthread(runnable r)
}
JAVA學習札記06
抽象類 當我們建立乙個父類時,有時我們並不需要或不確定在父類中實現具體的方法,而只是在在父類中規定子類要實現的功能時可以將父類建立成抽象類,建立相應的抽象方法,讓子類繼承並實現該抽象方法。抽象類的建立格式 public abstruct class myabstructclass 抽象類的特點 抽象...
JAVA 封裝性 學習札記
1.封裝性定義 不是直接通過 物件.屬性 對屬性進行操作訪問,而是通過 物件.方法 來控制對屬性的操作訪問 2.實現封裝性則為將類的屬性私有化,通過 setter getter 來實現對物件的操作訪問 3.e。g。public class setgetting class setgetter pub...
JAVA個人筆記
時間 2015 12 15 目標 readresolve 記錄原因 深入學習單例模式的時候遇到 簡單了解 通過可序列化的工具,我們可以將乙個單例的例項物件寫到磁碟,然後再讀回來,從而有效地獲得乙個例項。即使建構函式是私有的,可序列化工具依然可以通過特殊的途徑去建立類的乙個新的例項。序列化操作提供了乙...