Method and apparatus for serializing access to multithreading unsafe resources
AssigneeSun Microsystems, Inc.
InventorsAndrew E. Davidson, Maurice Balick, Alan Snyder
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorsAndrew E. Davidson, Maurice Balick, Alan Snyder
Estimating the term…
An improved technique for serializing access to multithreading unsafe resources is described. A baton manager is used to manage the serializing of accesses to a multithreading unsafe resource. For a thread to access the multithreading unsafe resource, the thread must first obtain a baton from the baton manager. Then, once the thread has finished accessing the multithreading unsafe resource, the thread releases the baton to the baton manager. Hence, by using the baton manager to manage the baton, accesses to multithreading unsafe resources are serialized while program crashes or deadlocks are minimized. The multithreading unsafe resource will typically have a plurality of baton objects associated therewith. The baton objects are objects of object-oriented programming. The baton manager will permit at most one of the baton objects for a given multithreading unsafe resource to own the baton at a time. The threads associated with the baton objects waiting to own the baton must wait until they receive the baton before they can access the multithreading unsafe resource.
A computer-implemented method for synchronizing multithreaded processes within a multitasking computer system so that multiple threads can safely access a multithreading unsafe resource, said method comprising the computer-implemented steps of:
A computer-implemented method for synchronizing multithreaded processes so that multiple threads can safely access a multithreading unsafe algorithm, said method comprising the computer-implemented steps of:
An apparatus for serializing access to a multithreading unsafe resource, said apparatus comprising:
A computer program product, comprising:
Dependencies are inferred from the claim text.