src/share/vm/runtime/mutex.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/runtime/mutex.hpp

src/share/vm/runtime/mutex.hpp

Print this page
rev 5732 : [mq]: comments2

*** 88,98 **** public: // A special lock: Is a lock where you are guaranteed not to block while you are // holding it, i.e., no vm operation can happen, taking other locks, etc. // NOTE: It is critical that the rank 'special' be the lowest (earliest) ! // (except for "event"?) for the deadlock dection to work correctly. // The rank native is only for use in Mutex's created by JVM_RawMonitorCreate, // which being external to the VM are not subject to deadlock detection. // The rank safepoint is used only for synchronization in reaching a // safepoint and leaving a safepoint. It is only used for the Safepoint_lock // currently. While at a safepoint no mutexes of rank safepoint are held --- 88,98 ---- public: // A special lock: Is a lock where you are guaranteed not to block while you are // holding it, i.e., no vm operation can happen, taking other locks, etc. // NOTE: It is critical that the rank 'special' be the lowest (earliest) ! // (except for "event"?) for the deadlock detection to work correctly. // The rank native is only for use in Mutex's created by JVM_RawMonitorCreate, // which being external to the VM are not subject to deadlock detection. // The rank safepoint is used only for synchronization in reaching a // safepoint and leaving a safepoint. It is only used for the Safepoint_lock // currently. While at a safepoint no mutexes of rank safepoint are held
*** 239,249 **** // constructed from pthreads primitives might extend a mutex by adding // a condvar and some extra metadata. In fact this was the case until J2SE7. // // Currently, however, the base object is a monitor. Monitor contains all the // logic for wait(), notify(), etc. Mutex extends monitor and restricts the ! // visiblity of wait(), notify(), and notify_all(). // // Another viable alternative would have been to have Monitor extend Mutex and // implement all the normal mutex and wait()-notify() logic in Mutex base class. // The wait()-notify() facility would be exposed via special protected member functions // (e.g., _Wait() and _Notify()) in Mutex. Monitor would extend Mutex and expose wait() --- 239,249 ---- // constructed from pthreads primitives might extend a mutex by adding // a condvar and some extra metadata. In fact this was the case until J2SE7. // // Currently, however, the base object is a monitor. Monitor contains all the // logic for wait(), notify(), etc. Mutex extends monitor and restricts the ! // visibility of wait(), notify(), and notify_all(). // // Another viable alternative would have been to have Monitor extend Mutex and // implement all the normal mutex and wait()-notify() logic in Mutex base class. // The wait()-notify() facility would be exposed via special protected member functions // (e.g., _Wait() and _Notify()) in Mutex. Monitor would extend Mutex and expose wait()
src/share/vm/runtime/mutex.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File