Displaying 1 to 20 from 26 results

Queuer - Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD).

  •    Swift

Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD). It allows you to create any synchronous and asynchronous task easily, with just a few lines. * Currently, URLSession.shared property is not yet implemented on Linux.

lock - Lock library to provide serialized execution of PHP code.

  •    PHP

This library helps executing critical code in concurrent situations. The package is in the namespace malkusch\lock.

ReaderWriterLock Alternative

  •    DotNet

This ReaderWriterLock is an improved alternative to the ReaderWriterLock of the .NET 2.0 framework. It corrects the main problem of ReaderWriterLock in that it gives priority to threads that request a Write Lock. Also, it's faster!

semaphore - Fast semaphore using ETS.

  •    Elixir

Programming in Erlang and Elixir usually allows for no locking since the VM essentially handles it for you when communicating between processes. However, what about the situation when you have thousands of processes attempting to interact with a single resource such as a process? Usually they will overload the process and explode the message queue. ETS is the Swiss Army knife of the Erlang VM and can be applied to this problem. By using :ets.update_counter and :write_concurrency we can achieve a fast low contention semaphore on ETS. Then just use it like a semaphore in any other language.




AtomicKit - Concurrency made simple in Swift.

  •    Swift

Concurrency made simple in Swift. AtomicKit is a Swift framework designed to ease dealing with concurrency in Swift projects.

async-sema - Semaphore using `async` and `await`

  •    Javascript

This is a semaphore implementation for use with async and await. The implementation follows the traditional definition of a semaphore rather than the definition of an asynchronous semaphore. Where as the latter one generally allows every defined task to proceed immediately and synchronizes at the end, async-sema allows only a selected number of tasks to proceed at once while the rest will remain waiting.Async-sema manages the semaphore count as a list of tokens instead of a single variable containing the number of available resources. This enables an interesting application of managing the actual resources with the semaphore object itself. To make it practical the constructor for Sema includes an option for providing an init function for the semaphore tokens. Use of a custom token initializer is demonstrated in example1.js.


ci-job-number - Return CI job number to run huge tests only on first job

  •    Javascript

Return CI job number to run huge tests only on first job. Often we test different Node.js versions on Travis CI. But Node.js version doesn’t affect on many tests. For example, using external API for docs spelling check.

l8 - Task manager for javascript with promises, dataflows and actors

  •    Javascript

l8 is an *experimental* pthread/erlang inspired task manager for javascript. Simple tasks becomes 'paroles', complex tasks become functions broken in 'steps'. l8 comes with synchronisation and distribution tools including semaphores, mutexes, message queues, generators, actors and socket.io proxied actors, among others.

semaphore-docs-new - Documentation site for Semaphore.

  •    CSS

Semaphore Docs, powered by Middleman and Amazon S3. For writing new articles or making updates, feel free to leave dummy credentials in data/credentials.yml.

semaphorejs - A functional-style Semaphore for managing concurrent access to a resource

  •    Javascript

A functional-style Semaphore for managing concurrent access to a resource with async functions and Promises. Most of the time, you should use limit() instead of creating a Semaphore yourself. limit() preserves your existing API and simply "decorates" the async function with rate limiting.

locks - Mutex locks, Read/Write locks, Condition variables and Semaphores in JavaScript

  •    Javascript

Locks implements locking/synchronization mechanisms that have traditionally been used for protecting shared memory between multiple threads. JavaScript is inherently single threaded and does not suffer from these security and stability issues. However, because of its asynchronous eventy nature JavaScript can still benefit from making particular operations wait for the completion of others.

promise-semaphore - promise semaphore

  •    Javascript

promise-semaphore is for when you want to push a set of work to be done in a configurable serial fashion. Each item added is individually resolvable via a then chained onto the add method.

promise-limit - limits calls to functions that return promises

  •    Javascript

Limit outstanding calls to promise returning functions, or a semaphore for promises. You might want to do this to reduce load on external services, or reduce memory usage when processing large batches of jobs. Returns a function that can be used to wrap promise returning functions, limiting them to concurrency outstanding calls.

semaphore - Wrapping sync.Mutex for familiar semaphore api

  •    Go

Wrapping sync.Mutex for familiar semaphore api

gpool - gpool - a generic context-aware resizable goroutines pool to bound concurrency.

  •    Go

Easily manages a resizeable pool of context aware goroutines to bound concurrency, A Job is Enqueued to the pool and only N jobs can be processing concurrently. A Pool is either closed or started, the Pool will not accept any job unless pool.Start() is called.

await-semaphore - Awaitable semaphore/mutex

  •    TypeScript

Also includes Mutex as a convenience for new Semaphore(1). Create a new semaphore with the given count.

support - A Laravel 5 package which promotes the use of best practices and design patterns

  •    PHP

Support consists of a series of useful classes to ease development and the use of best practices and design patterns with Laravel 5. Part of this package has been highly inspired by the culttt.com blog, which I highly recommend to both new and experienced developers since it focuses on a wide range of topics with always interesting point of views and discussions. I have personally learned much from it.

process - :whale2: The process wrapper and manager based on PCNTL on the Unix-like systems using php

  •    PHP

The library help to work with processes. It provides a more readable api and various modes for IPC via pipe(FIFO) and system v. The library replies on the following php's extension.