The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 18, 1998
Filed:
Dec. 08, 1995
Timothy G Lindholm, Palo Alto, CA (US);
Jonathan Payne, Seattle, WA (US);
Sun Microsystems, Inc., Mountain View, CA (US);
Abstract
An object synchronization module and corresponding method used in a computer system that includes a plurality of threads of execution and a set of objects that each can only be synchronized with one of the threads at a time. The object synchronization module comprises a cache of synchronization constructs, a free list of un-allocated synchronization constructs, and a cache manager. For each respective thread that seeks synchronization with a respective object, the cache manager allocates a respective synchronization construct in the free list for synchronizing the respective thread with the respective object when none of the synchronization constructs is currently allocated for synchronizing the respective object with any of the threads. However, the respective thread is added to the waiters list of a particular synchronization construct so that the respective thread must wait to synchronize the respective object when the particular synchronization construct is currently allocated for synchronizing the respective object with a particular thread. Furthermore, for each specific thread that seeks de-synchronization with a specific object when a specific synchronization construct of the synchronization constructs is currently allocated for synchronizing the specific thread with the specific object, the cache manager re-allocates the specific synchronization construct for synchronizing a waiting thread of the threads with the specific object when the specific synchronization construct's waiters list contains the waiting thread. The cache manager de-allocates the specific synchronization construct when the specific synchronization construct's waiters list does not contain any waiting threads of the threads.