A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Semaphore.html below:

Class: Concurrent::Semaphore — Concurrent Ruby

Class: Concurrent::Semaphore
Inherits:
SemaphoreImplementation show all
Defined in:
lib/concurrent-ruby/concurrent/atomic/semaphore.rb
Overview

A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each #acquire blocks if necessary until a permit is available, and then takes it. Each #release adds a permit, potentially releasing a blocking acquirer. However, no actual permit objects are used; the Semaphore just keeps a count of the number available and acts accordingly. Alternatively, permits may be acquired within a block, and automatically released after the block finishes executing.

Instance Method Summary collapse Constructor Details #initialize(count) ⇒ undocumented

Create a new Semaphore with the initial count.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end
Instance Method Details #acquire(permits = 1) ⇒ nil, BasicObject

Acquires the given number of permits from this semaphore, blocking until all are available. If a block is given, yields to it and releases the permits afterwards.

is given, its return value is returned.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end
#available_permits ⇒ Integer

Returns the current number of permits available in this semaphore.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end
#drain_permits ⇒ Integer

Acquires and returns all permits that are immediately available.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end
#release(permits = 1) ⇒ nil

Releases the given number of permits, returning them to the semaphore.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end
#try_acquire(permits = 1, timeout = nil) ⇒ true, false, nil, BasicObject

Acquires the given number of permits from this semaphore, only if all are available at the time of invocation or within timeout interval. If a block is given, yields to it if the permits were successfully acquired, and releases them afterward, returning the block's return value.

161
162
# File 'lib/concurrent-ruby/concurrent/atomic/semaphore.rb', line 161

class Semaphore < SemaphoreImplementation
end

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4