定義乙個單例model;
package com.shirt.test;
/** * @author xiaxt
* @date 2018/12/21.
*/public class runmodel
private runmodel setisrunning(boolean b)
private runmodel setmessage(string msg)
private runmodel setdata(object data)
private static class running
/*** 執行緒執行結束
* @return
*/public static runmodel runover()
/*** 執行緒開始執行
* @return
*/public static runmodel running()
public static runmodel running(string msg)
public static runmodel running(string msg, object o)
/*** 獲取定時任務執行狀態isrunning
* @return
*/public static boolean isrunning()
/*** 獲取定時任務執行資訊message
* @return
*/public static string getmessage()
/*** 獲取定時任務執行資料data
* @return
*/public static object getdata()
/*** 獲取例項化物件
* @return
*/public static runmodel getinstance()
}
main函式呼叫測試
package com.shirt.test;
/** * @author xiaxt
* @date 2018/8/9.
*/public class maintest catch (interruptedexception e)
}}class threada implements runnable
runmodel.running("執行緒a執行中");
system.out.println("執行緒a開始執行");
try catch (interruptedexception e)
runmodel.runover();
system.out.println("執行緒a執行結束");
}}class threadb implements runnable
runmodel.running("執行緒b執行中");
system.out.println("執行緒b開始執行");
try catch (interruptedexception e)
runmodel.runover();
system.out.println("執行緒b執行結束");
}}class threadc implements runnable
runmodel.running("執行緒c執行中");
system.out.println("執行緒c開始執行");
try catch (interruptedexception e)
runmodel.runover();
system.out.println("執行緒c執行結束");
}}
多執行緒下的單例
1多執行緒安全單例模式一 不使用同步鎖 1 1 public classsingleton 4 4 private staticsingleton singleton 5 5 6 6 public staticsingleton getinstance 7 7 12 12 returnsinglet...
多執行緒下的單例模式
單例模式分為兩種 懶漢單例模式和餓漢式單例模式 public class singleton private static singleton single null public static singleton getinstance return single 在單執行緒中,這樣寫,不會存在任...
多執行緒下的單例模式
在多執行緒下的singleton模式是有弊端的,但如何解決呢?辦法是使用lock機制。今天研究的lock機制,並且順便了解了些關於多執行緒的cpu層面的機制。在單個cpu的環境下,在系統的某一時間下cpu只能做一件事情,乙個時間片 slice 這個是cpu執行最小單位。在系統中有多個程序看起來好像是...