Type:
Class

Mutex implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent threads.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
require 'thread'
semaphore = Mutex.new
 
a = Thread.new {
  semaphore.synchronize {
    # access shared resource
  }
}
 
b = Thread.new {
  semaphore.synchronize {
    # access shared resource
  }
}
lock
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.lock â self Instance Public methods Attempts to grab the lock and waits

2025-01-10 15:47:30
new
  • References/Ruby on Rails/Ruby/Classes/Mutex

Mutex.new â mutex Class Public methods Creates a new

2025-01-10 15:47:30
try_lock
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.try_lock â true or false Instance Public methods Attempts to obtain

2025-01-10 15:47:30
owned?
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.owned? â true or false Instance Public methods Returns true

2025-01-10 15:47:30
sleep
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.sleep(timeout = nil) â number Instance Public methods Releases the

2025-01-10 15:47:30
locked?
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.locked? â true or false Instance Public methods Returns true

2025-01-10 15:47:30
unlock
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.unlock â self Instance Public methods Releases the lock. Raises

2025-01-10 15:47:30
synchronize
  • References/Ruby on Rails/Ruby/Classes/Mutex

mutex.synchronize { ... } â result of the block Instance Public methods Obtains

2025-01-10 15:47:30