All Projects → reugn → async

reugn / async

Licence: MIT license
Synchronization and asynchronous computation package for Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to async

Java Concurrency Examples
Java Concurrency/Multithreading Tutorial with Examples for Dummies
Stars: ✭ 173 (+66.35%)
Mutual labels:  synchronization, concurrency, lock, future
TAOMP
《多处理器编程的艺术》一书中的示例代码实现,带有注释与单元测试
Stars: ✭ 39 (-62.5%)
Mutual labels:  synchronization, concurrency, lock
Tascalate Concurrent
Implementation of blocking (IO-Bound) cancellable java.util.concurrent.CompletionStage and related extensions to java.util.concurrent.ExecutorService-s
Stars: ✭ 144 (+38.46%)
Mutual labels:  asynchronous, promise, concurrency
Concurrent
Functional Concurrency Primitives
Stars: ✭ 206 (+98.08%)
Mutual labels:  synchronization, concurrency, lock
futex
File-based Ruby Mutex
Stars: ✭ 14 (-86.54%)
Mutual labels:  concurrency, lock, mutex
run exclusive
⚡🔒 Wait queue for function execution 🔒 ⚡
Stars: ✭ 22 (-78.85%)
Mutual labels:  promise, lock, mutex
Linux-Kernel-Driver-Programming
Implementation of PCI drivers, kprobe, sysfs, devfs, sensor driver, miscdevices, synchronization
Stars: ✭ 43 (-58.65%)
Mutual labels:  synchronization, concurrency, barrier
AtomicKit
Concurrency made simple in Swift.
Stars: ✭ 88 (-15.38%)
Mutual labels:  concurrency, lock, mutex
Qtpromise
Promises/A+ implementation for Qt/C++
Stars: ✭ 137 (+31.73%)
Mutual labels:  asynchronous, promise, future
YACLib
Yet Another Concurrency Library
Stars: ✭ 193 (+85.58%)
Mutual labels:  promise, concurrency, future
Hunch
Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
Stars: ✭ 94 (-9.62%)
Mutual labels:  asynchronous, concurrency
linked-blocking-multi-queue
A concurrent collection that extends the existing Java concurrent collection library, offering an optionally-bounded blocking "multi-queue" based on linked nodes.
Stars: ✭ 41 (-60.58%)
Mutual labels:  synchronization, concurrency
Threadly
A library of tools to assist with safe concurrent java development. Providing unique priority based thread pools, and ways to distrbute threaded work safely.
Stars: ✭ 196 (+88.46%)
Mutual labels:  asynchronous, concurrency
Bastion
Highly-available Distributed Fault-tolerant Runtime
Stars: ✭ 2,333 (+2143.27%)
Mutual labels:  asynchronous, concurrency
syncs
Concurrency and synchronization primitives
Stars: ✭ 81 (-22.12%)
Mutual labels:  synchronization, concurrency
Lear
Linux Engine for Asset Retrieval - speed-profiled C HTTP server
Stars: ✭ 165 (+58.65%)
Mutual labels:  asynchronous, concurrency
Crossbeam
Tools for concurrent programming in Rust
Stars: ✭ 4,180 (+3919.23%)
Mutual labels:  synchronization, concurrency
future.scala
Stack-safe asynchronous programming
Stars: ✭ 38 (-63.46%)
Mutual labels:  asynchronous, future
p-ratelimit
Promise-based utility to make sure you don’t call rate-limited APIs too quickly.
Stars: ✭ 49 (-52.88%)
Mutual labels:  promise, concurrency
java-red
Effective Concurrency Modules for Java
Stars: ✭ 25 (-75.96%)
Mutual labels:  asynchronous, concurrency

Async is a synchronization and asynchronous computation package for Go.

Overview

  • Future - A placeholder object for a value that may not yet exist.
  • Promise - While futures are defined as a type of read-only placeholder object created for a result which doesn’t yet exist, a promise can be thought of as a writable, single-assignment container, which completes a future.
  • Task - A data type for controlling possibly lazy and asynchronous computations.
  • WaitGroupContext - A WaitGroup with the context.Context support for graceful unblocking.
  • Reentrant Lock - Mutex that allows goroutines to enter into the lock on a resource more than once.
  • Optimistic Lock - Mutex that allows optimistic reading. Could be retried or switched to RLock in case of failure. Significantly improves performance in case of frequent reads and short writes. See benchmarks.

Examples

Can be found in the examples directory/tests.

License

Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].