Java 是一種常用的編程語言,它支持單線程和單例模式,這兩個概念在軟件開發中非常重要。
// 單線程示例 public class MyThread extends Thread { public void run() { System.out.println("線程啟動"); for (int i = 0; i< 5; i++) { System.out.println("執行線程" + i); } System.out.println("線程結束"); } } public class Main { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); MyThread t2 = new MyThread(); t2.start(); } }
單線程指程序運行時只有一個執行線程,任何時候只有一個任務在執行。在單線程程序中,只要保證線程安全,就能避免很多問題。例如,在上面的代碼示例中,如果多個線程同時調用 MyThread 的 run 方法,就會導致輸出混亂,得到錯誤的結果。
// 單例示例 public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } public class Main { public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); System.out.println(singleton1 == singleton2); } }
單例模式指一個類只能創建一個對象,通常用于共享資源、配置信息等需要全局唯一的情況。在上面的示例中,通過 getInstance 方法獲得 Singleton 的實例,如果實例不存在就新建一個。通過加上 synchronized 關鍵字可以保證線程安全。