True, but the difference is a Semaphore or Mutex (a condition variable in general) uses a subclass of LinkedList for myList values. Being an instance of LinkedList is a defining property of priority lists - at least this was my understanding but the truth is the current implementation of #isRunnable and #isBlocked allows a condition variable use any list other than a priority list; I've never realized that. Is it just a theoretical possibility or is it really used somewhere?