One-time initialization
AssigneeMicrosoft Corporation
InventorsArun Kishan, Neill M. Clift
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsArun Kishan, Neill M. Clift
Estimating the term…
Aspects of the present invention are directed at providing safe and efficient ways for a program to perform a one-time initialization of a data item in a multi-threaded environment. In accordance with one embodiment, a method is provided that allows a program to perform a synchronized initialization of a data item that may be accessed by multiple threads. More specifically, the method includes receiving a request to initialize the data item from a current thread. In response to receiving the request, the method determines whether the current thread is the first thread to attempt to initialize the data item. If the current thread is the first thread to attempt to initialize the data item, the method enforces mutual exclusion and blocks other attempts to initialize the data item made by concurrent threads. Then, the current thread is allowed to execute program code provided by the program to initialize the data item.
A non-blocking method for initializing data in a multi-threaded environment, the non-blocking method comprising:
At least one computer storage media storing computer-executable instructions that, when executed by a computer, cause the computer to perform a non-blocking method for initializing data in a multi-threaded environment, the non-blocking method comprising:
A system configured for initializing data in a multi-threaded environment, the system comprising:
Dependencies are inferred from the claim text.