molecule.utils

Mutex

final class Mutex extends AbstractQueuedSynchronizer

A simple non-reentrant lock used for exclusion when managing queues and workers. We use a custom lock so that we can readily probe lock state in constructions that check among alternative actions. The lock is normally only very briefly held, and sometimes treated as a spinlock, but other usages block to reduce overall contention in those cases where locked code bodies perform allocation/resizing.

Code and comments borrowed from Doug Lea's FJPool.

Source
Mutex.scala
Linear Supertypes
AbstractQueuedSynchronizer, AbstractOwnableSynchronizer, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Mutex
  2. AbstractQueuedSynchronizer
  3. AbstractOwnableSynchronizer
  4. Serializable
  5. AnyRef
  6. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Mutex()

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def acquire(arg0: Int): Unit

    Definition Classes
    AbstractQueuedSynchronizer
  7. final def acquireInterruptibly(arg0: Int): Unit

    Definition Classes
    AbstractQueuedSynchronizer
    Annotations
    @throws()
  8. final def acquireShared(arg0: Int): Unit

    Definition Classes
    AbstractQueuedSynchronizer
  9. final def acquireSharedInterruptibly(arg0: Int): Unit

    Definition Classes
    AbstractQueuedSynchronizer
    Annotations
    @throws()
  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. final def compareAndSetState(arg0: Int, arg1: Int): Boolean

    Attributes
    protected[locks]
    Definition Classes
    AbstractQueuedSynchronizer
  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  16. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  17. final def getExclusiveOwnerThread(): Thread

    Attributes
    protected[locks]
    Definition Classes
    AbstractOwnableSynchronizer
  18. final def getExclusiveQueuedThreads(): Collection[Thread]

    Definition Classes
    AbstractQueuedSynchronizer
  19. final def getFirstQueuedThread(): Thread

    Definition Classes
    AbstractQueuedSynchronizer
  20. final def getQueueLength(): Int

    Definition Classes
    AbstractQueuedSynchronizer
  21. final def getQueuedThreads(): Collection[Thread]

    Definition Classes
    AbstractQueuedSynchronizer
  22. final def getSharedQueuedThreads(): Collection[Thread]

    Definition Classes
    AbstractQueuedSynchronizer
  23. final def getState(): Int

    Attributes
    protected[locks]
    Definition Classes
    AbstractQueuedSynchronizer
  24. final def getWaitQueueLength(arg0: ConditionObject): Int

    Definition Classes
    AbstractQueuedSynchronizer
  25. final def getWaitingThreads(arg0: ConditionObject): Collection[Thread]

    Definition Classes
    AbstractQueuedSynchronizer
  26. final def hasContended(): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  27. final def hasQueuedPredecessors(): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  28. final def hasQueuedThreads(): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  29. final def hasWaiters(arg0: ConditionObject): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  30. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  31. final def isHeldExclusively(): Boolean

    Definition Classes
    Mutex → AbstractQueuedSynchronizer
  32. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  33. final def isQueued(arg0: Thread): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  34. final def lock(): Unit

  35. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  36. final def newCondition(): Condition

  37. final def notify(): Unit

    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  39. final def owns(arg0: ConditionObject): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  40. final def release(arg0: Int): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  41. final def releaseShared(arg0: Int): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
  42. final def setExclusiveOwnerThread(arg0: Thread): Unit

    Attributes
    protected[locks]
    Definition Classes
    AbstractOwnableSynchronizer
  43. final def setState(arg0: Int): Unit

    Attributes
    protected[locks]
    Definition Classes
    AbstractQueuedSynchronizer
  44. final def spinLock(): Unit

  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toString(): String

    Definition Classes
    AbstractQueuedSynchronizer → AnyRef → Any
  47. final def tryAcquire(ignore: Int): Boolean

    Definition Classes
    Mutex → AbstractQueuedSynchronizer
  48. final def tryAcquireNanos(arg0: Int, arg1: Long): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
    Annotations
    @throws()
  49. def tryAcquireShared(arg0: Int): Int

    Attributes
    protected[locks]
    Definition Classes
    AbstractQueuedSynchronizer
  50. final def tryAcquireSharedNanos(arg0: Int, arg1: Long): Boolean

    Definition Classes
    AbstractQueuedSynchronizer
    Annotations
    @throws()
  51. final def tryRelease(ignore: Int): Boolean

    Definition Classes
    Mutex → AbstractQueuedSynchronizer
  52. def tryReleaseShared(arg0: Int): Boolean

    Attributes
    protected[locks]
    Definition Classes
    AbstractQueuedSynchronizer
  53. final def unlock(): Unit

  54. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  55. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  56. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AbstractQueuedSynchronizer

Inherited from AbstractOwnableSynchronizer

Inherited from Serializable

Inherited from AnyRef

Inherited from Any