C # Implementation of Singleton Mode,
Singleton mode definition:A class has only one instance and is self-instantiated to provide to the entire system.
Implementation points:
1. The Singleton mode class only provides private constructors.
2. The class definition contains a static private object of the class.
3. This class provides a static common function for creating or obtaining its own static private object.
Dual lock implementation code (within multiple threads ):
Namespace Singleton {public class Singleton {// defines a private static global variable to save the private static Singleton _ singleton; // define a read-only static object // and the object is the private static readonly object _ lockObj = new object () created when the program runs (); /// <summary> /// the constructor must be private. // you cannot use new to create a private Singleton () {}/// <summary> /// define a global access point // set it to a static method // This method can be called without instantiation outside the class/ /// </summary> /// <returns> </returns> public static Singleton GetInstance () {// here we can ensure that the instance is instantiated only once // that is, the instance is instantiated at the first call // the call will not be instantiated later // The first singleton = null if (_ singleton = null) {lock (_ lockObj) {// singleton = null if (_ singleton = null) {_ singleton = new Singleton ();}}} return _ singleton ;}}}
C language ^ how to use
A1 = 0x01; // 0000 0001
A2 = 0x00; // 0000 0000
A3 = 0x03; // 0000 0011
A4 = 0x02; // 0000 0010
B1 = a1 ^ a2; // 0000 0001
B2 = a1 ^ a3; // 0000 0010
B3 = a1 ^ a4; // 0000 0011
^ XOR operator. The bitwise value is 0 and the difference is 1. See the example above.
//
Examples of simple and practical problems:
====================================
======= A ======= B =========
There are two circuits on the top. The two switches are a and B respectively. The opening status is \ [1], and the closing status is/[0].
If both circuits are enabled or disabled.
If a turns on [1], B turns off [0], and circuit 1 Powers on
=====================
If a disables [0], B enables [1], and circuit 2 powers on.
====================================
In summary, the circuit fails in the and B states simultaneously [0]. When a and B are different, the power is charged [1].
C language ^ how to use
A1 = 0x01; // 0000 0001
A2 = 0x00; // 0000 0000
A3 = 0x03; // 0000 0011
A4 = 0x02; // 0000 0010
B1 = a1 ^ a2; // 0000 0001
B2 = a1 ^ a3; // 0000 0010
B3 = a1 ^ a4; // 0000 0011
^ XOR operator. The bitwise value is 0 and the difference is 1. See the example above.
//
Examples of simple and practical problems:
====================================
======= A ======= B =========
There are two circuits on the top. The two switches are a and B respectively. The opening status is \ [1], and the closing status is/[0].
If both circuits are enabled or disabled.
If a turns on [1], B turns off [0], and circuit 1 Powers on
=====================
If a disables [0], B enables [1], and circuit 2 powers on.
====================================
In summary, the circuit fails in the and B states simultaneously [0]. When a and B are different, the power is charged [1].