gochan - golang inspired channels for doing CSP-style concurrency in node.js

  •        18

golang inspired channels for doing CSP-style concurrency in node.js. This library is to give node.js without generators the ability to use golang style channels for doing concurrent programming.

https://github.com/eugeneware/gochan

Dependencies:

q : ~0.9.7

Tags
Implementation
License
Platform

   




Related Projects

chan - Pure C implementation of Go channels.

  •    Shell

Pure C implementation of Go channels.Unbuffered channels provide both a mechanism for communication as well as synchronization. When data is sent into the channel, the sender blocks until a receiver is ready. Likewise, a receiver will block until a sender is ready.

Asterisk SCCP channel driver

  •    C

Skinny (SCCP) Channel Driver for the Asterisk Open Source VOIP Platform. This project has been superseded by the chan-sccp-b project at sourceforce !! =gt; http://chan-sccp-b.sourceforge.net

queue - Asynchronous function queue with adjustable concurrency

  •    Javascript

Asynchronous function queue with adjustable concurrency. This module exports a class Queue that implements most of the Array API. Pass async functions (ones that accept a callback or return a promise) to an instance's additive array methods. Processing begins when you call q.start().


Safe - Modern Concurrency and Synchronization for Swift.

  •    Swift

Safe adds an uncomplicated method for dispatching routines.A new Chan<T> class provides a clean and simple model for concurrently sharing objects. Chan<T> is modeled after Go channels.

asyncplusplus - Async++ concurrency framework for C++11

  •    C++

Async++ is a lightweight concurrency framework for C++11. The concept was inspired by the Microsoft PPL library and the N3428 C++ standard proposal. The only requirement to use Async++ is a C++11 compiler and standard library. Unfortunately C++11 is not yet fully implemented on most platforms. Here is the list of OS and compiler combinations which are known to work.

ea-async - EA Async implements async-await methods in the JVM.

  •    Java

EA Async implements async-await methods in the JVM. It allows programmers to write asynchronous code in a sequential fashion.

Asterisk/OpenPBX ISDN CAPI chan driver

  •    C

ISDN CAPI Channel driver (chan_capi) for the Asterisk Open Source VoIP Platform. THIS PROJECT HAS BEEN MOVED TO chan-capi.org

ipc-channel - A multiprocess drop-in replacement for Rust channels

  •    Rust

ipc-channel is an implementation of the Rust channel API (a form of communicating sequential processes, CSP) over the native OS abstractions. Under the hood, this API uses Mach ports on the Mac and file descriptor passing over Unix sockets on Linux. The serde library is used to serialize values for transport over the wire. Note that both IpcSender<T> and IpcReceiver<T> implement Serialize and Deserialize, so you can send IPC channels over IPC channels freely, just as you can with Rust channels.

batch - Async batch with concurrency control and progress reporting for nodejs and the browser

  •    Javascript

Simple async batch with concurrency control and progress reporting.Contain the "job" index, response value, duration information, and completion data.

Overdrive - ⚡️ Fast async task based Swift framework with focus on type safety, concurrency and multi threading

  •    Swift

Our apps constantly do work. The faster you react to user input and produce an output, the more likely is that the user will continue to use your application. As our applications grow in complexity, the more and more work needs to be done. You need to start thinking about how to categorize and optimize work, how to make that work more efficient, more optimized and finally, faster. In most cases that doesn’t end very well because you need to know a lot about concurrency, multithreading etc. - it’s a very complex field. You need to know all API specifics before you are able to write something. Overdrive was created as a result of that struggle. It is a framework that exposes several simple concepts which are made on top of complex system frameworks that enable multithreading, concurrency and most importantly, more speed.

Overdrive - ⚡️ Fast async task based Swift framework with focus on type safety, concurrency and multi threading

  •    Swift

Our apps constantly do work. The faster you react to user input and produce an output, the more likely is that the user will continue to use your application. As our applications grow in complexity, the more and more work needs to be done. You need to start thinking about how to categorize and optimize work, how to make that work more efficient, more optimized and finally, faster. In most cases that doesn’t end very well because you need to know a lot about concurrency, multithreading etc. - it’s a very complex field. You need to know all API specifics before you are able to write something. Overdrive was created as a result of that struggle. It is a framework that exposes several simple concepts which are made on top of complex system frameworks that enable multithreading, concurrency and most importantly, more speed.

trio - Trio – Pythonic async I/O for humans and snake people 🐍

  •    Python

The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. Trio was built from the ground up to take advantage of the latest Python features, and draws inspiration from many sources, in particular Dave Beazley's Curio. The resulting design is radically simpler than older competitors like asyncio and Twisted, yet just as capable. Trio is the Python I/O library I always wanted; I find it makes building I/O-oriented programs easier, less error-prone, and just plain more fun. Perhaps you'll find the same.

Stlab Libraries - C++ Concurrency Library

  •    C++

Stlab Concurrency library provides high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing the contention.

Chan-SCCP channel driver for Asterisk

  •    C

Replacement for the SCCP channel driver in Asterisk. Extended features include Shared Lines, Presence / BLF, customizable Feature Buttons, and Custom Device State. Visit our discussion mailing list for help and join us as a developer if you like.

libdill - Structured concurrency in C

  •    C

Libdill is a C library that makes writing structured concurrent programs easy. There is no interaction between threads. Each thread is treated as a separate process. Channels are always unbuffered. Coroutines can be canceled. Generally speaking, though, libdill's concurrency primitives are only a bit slower than basic C flow control statements. A context switch has been seen to execute in as little as 6 ns, with coroutine creation taking 26 ns. Passing a message through a channel takes about 40 ns.

promise-fun - Promise packages, patterns, chat, and tutorials

  •    

I intend to use this space to document my promise modules, useful promise patterns, and how to solve common problems. For now though, you can see all my promise modules below.Star this repo to show your interest, so I can know whether to prioritize this work.

Zewo - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines

  •    Swift

Zewo is a lightweight library for web applications in Swift.Zewo is not a web framework. Zewo is a lightweight library for web applications in Swift. Most server-side Swift projects use Grand Central Dispatch (GCD) as the concurrency library of choice. The drawback of using GCD is that its APIs are asynchronous. With async code comes callback hell and we all know it, it's no fun.

amp - A non-blocking concurrency framework for PHP applications.

  •    PHP

Amp is a non-blocking concurrency framework for PHP. It provides an event loop, promises and streams as a base for asynchronous programming.Promises in combination with generators are used to build coroutines, which allow writing asynchronous code just like synchronous code, without any callbacks.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.