Java多執行緒設計模式(6)兩階段終止模式
阿新 • • 發佈:2019-02-16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package whut.specificstorage;
//負責產生保管箱間的類
public class Log
{
//首先利用static
final修飾
//保證了所有訪問該類的執行緒都只使用一個唯一的且不變的保管箱間。
private static final ThreadLocal
tsLogCollections= new ThreadLocal();
//不用使用synchronized,因為在使用get和set時候,會欄位判別當前所屬的執行緒
//取得當前執行緒特有的Log
private static TSLog
getTSLog()
{
TSLog
tsLog=(TSLog)tsLogCollections.get();
//如果執行緒是第一次呼叫,就建立新資料夾以及註冊log
if (tsLog== null )
{
tsLog= new TSLog(Thread.currentThread().getName()+ "-log.txt" );
tsLogCollections.set(tsLog);
}
return tsLog;
}
//加入一條LOG
public static void
|