# module Mutex_m

# mutex_m.rb¶ ↑

When 'mutex_m' is required, any object that extends or includes Mutex_m will be treated like a Mutex.

Start by requiring the standard library Mutex_m:

    require "mutex_m.rb"

From here you can extend an object with Mutex instance methods:

    obj = Object.new
    obj.extend Mutex_m

Or mixin Mutex_m into your module to your class inherit Mutex instance methods.

    class Foo
      include Mutex_m
      # ...
    end
    obj = Foo.new
    # this obj can be handled like Mutex

### Public Instance Methods

mu_lock() click to toggle source

See Mutex#lock

    # File lib/mutex_m.rb, line 84
    def mu_lock
      @_mutex.lock
    end

mu_locked?() click to toggle source

See Mutex#locked?

    # File lib/mutex_m.rb, line 74
    def mu_locked?
      @_mutex.locked?
    end

mu_synchronize(&block) click to toggle source

See Mutex#synchronize

    # File lib/mutex_m.rb, line 69
    def mu_synchronize(&block)
      @_mutex.synchronize(&block)
    end

mu_try_lock() click to toggle source

See Mutex#try_lock

    # File lib/mutex_m.rb, line 79
    def mu_try_lock
      @_mutex.try_lock
    end

mu_unlock() click to toggle source

See Mutex#unlock

    # File lib/mutex_m.rb, line 89
    def mu_unlock
      @_mutex.unlock
    end

sleep(timeout = nil) click to toggle source

See Mutex#sleep

    # File lib/mutex_m.rb, line 94
    def sleep(timeout = nil)
      @_mutex.sleep(timeout)
    end