--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: []

comment: 
- !ruby/struct:SM::Flow::P 
  body: Mutex implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent threads.
- !ruby/struct:SM::Flow::P 
  body: "Example:"
- !ruby/struct:SM::Flow::VERB 
  body: "  require 'thread'\n  semaphore = Mutex.new\n\n  a = Thread.new {\n    semaphore.synchronize {\n      # access shared resource\n    }\n  }\n\n  b = Thread.new {\n    semaphore.synchronize {\n      # access shared resource\n    }\n  }\n"
constants: []

full_name: Mutex
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: exclusive_unlock
- !ruby/object:RI::MethodSummary 
  name: lock
- !ruby/object:RI::MethodSummary 
  name: locked?
- !ruby/object:RI::MethodSummary 
  name: marshal_load
- !ruby/object:RI::MethodSummary 
  name: synchronize
- !ruby/object:RI::MethodSummary 
  name: try_lock
- !ruby/object:RI::MethodSummary 
  name: unlock
name: Mutex
superclass: Object
