ผลต่างระหว่างรุ่นของ "แบบแผนซิงเกิลตัน"
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
→ภาษาจาวา: added thread-safe example |
|||
บรรทัด 37:
<font color="#000000">Singleton.getInstance</font><font color="#000000">()</font><font color="#000000">.doWork</font><font color="#000000">()</font><font color="#000000">;</font>
คลาสซิงเกิลตันแบบปลอดภัียในการทำงานแบบ multi-threading โดย Bill Pugh
<font color="#0000c0"><b>public class </b></font><font color="#000000">ThreadSafeSingleton </font><font color="#000000">{</font>
<font color="#ffffff"> </font><font color="#0000c0"><b>private </b></font><font color="#000000">ThreadSafeSingleton</font><font color="#000000">() {</font>
<font color="#ffffff"> </font><font color="#000000">}</font>
<font color="#ffffff"></font>
<font color="#ffffff"> </font><font color="#0000c0"><b>private static class </b></font><font color="#000000">SingletonHolder </font><font color="#000000">{</font>
<font color="#ffffff"> </font><font color="#0000c0"><b>private static </b></font><font color="#000000">ThreadSafeSingleton instance = </font><font color="#0000c0"><b>new </b></font><font color="#000000">ThreadSafeSingleton</font><font color="#000000">()</font><font color="#000000">;</font>
<font color="#ffffff"> </font><font color="#000000">}</font>
<font color="#ffffff"></font>
<font color="#ffffff"> </font><font color="#0000c0"><b>public static </b></font><font color="#000000">ThreadSafeSingleton getInstance</font><font color="#000000">() {</font>
<font color="#ffffff"> </font><font color="#0000c0"><b>return </b></font><font color="#000000">SingletonHolder.instance;</font>
<font color="#ffffff"> </font><font color="#000000">}</font>
<font color="#000000">}</font>
== อ้างอิง ==
|