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.
https://github.com/sustrik/libdillTags | concurrency threads multi-threading sockets |
Implementation | C |
License | MIT |
Platform | Windows Linux |
Libmill is a library that introduces Go-style concurrency to C. It can execute up to 20 million coroutines and 50 million context switches per second. It also contains simple networking and file access library that allows users to quickly bootstrap application development.
concurrency threads sockets multi-threading networkingA thread pool is a technique that allows developers to exploit the concurrency of modern processors in an easy and efficient manner. It's easy because you send "work" to the pool and somehow this work gets done without blocking the main thread. It's efficient because threads are not initialized each time we want work to be done. Threads are initialized once and remain inactive until some work has to be done. This way we minimize the overhead. There are many many Thread pool implementations in C++, many of them are probably better (safer, faster...) than mine. However, I belive my implementation is very straightforward and easy to understand.
threads thread-pool futures multi-threading concurrencyVenice provides structured concurrency and CSP for Swift.Venice wraps a fork of the C library libdill.
coroutines venice server-side-swift server csp swift swiftpm structured-concurrency green-threads fibers performance synchronous non-blockingYew is a modern Rust framework inspired by Elm and ReactJS for creating multi-threaded frontend apps with WebAssembly. NEW! The framework supports multi-threading & concurrency out of the box. It uses Web Workers API to spawn actors (agents) in separate threads and uses a local scheduler attached to a thread for concurrent tasks.
web gui jsx elm web-framework wasm asmjs emscripten concurrency multithreading webworkersOur 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.
concurrency multi-threading thread-safetyOur 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.
concurrency multi-threading thread-safetyThis project provides multi-threading that is compatible with PHP based on Posix Threads. It can execute any and all predefined and user declared methods and functions asynchronously. It has built-in support of Synchronization, Synchronized Methods.
thread threading multi-threading php-threading posix-thread worker-thread🎏 simple show cases of java concurrency problems
concurrency demo showcase concurrent-programming concurrency-problem concurrency-issue concurrency-gotchas thread-safety multi-threading parallelismThis is a library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies. Dependencies are represented as atomic counters. Under the covers, the task graph is executed using fibers, which in turn, are run on a pool of worker threads (one thread per CPU core). This allows the scheduler to wait on dependencies without task chaining or context switches.
cpp multithreading fibers task-scheduler coroutinesIt's a bit mind bending in that it's like using a higher-level list monad, but it's very, very cool. For beginning Haskellers, what would be really useful is a visualisation of what happens when you do various distributed/parallel stuff. It's almost shocking how effortlessly you can run computations across threads/nodes. The cool part is the composability in the distributed setting. You can make higher-order monadic functions that allow you to compose & reuse a long chain of distributed transactions via wormhole and teleport. Another benefit is that the transaction becomes first class and you can see exactly what's going on in one place instead of distributing the logic across actors making the code equivalent to event callbacks, as you've stated.
distributed-computing web events threading composition backtracking composability haskell transaction concurrencyThreading.Net, is a small windows form application that highlights the benefits of multithreaded programming by comparing in parallel, using progessbars, the same process running in single thread and in multi thread mode.
threading backgoundworker interlocked manualresetevent progressbar thread thread-safeThreading, concurrency, etc
asynchronous concurrency concurrent thread thread-pool threading threadpoolThe MTF.NET Runtime is a multi-threaded scheduler designed to execute high-performance .NET applications efficiently across multiple CPU cores.
concurrency threadingJava Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.
concurrency data-structures queues lock-free wait-free awesome collections java-collection data-structureJavascript thread library. Uses web workers when run in browsers and child processes when run by node.js. Also supports browsers which do not support web workers.You don't have to write the thread's code inline. The file is expected to be a commonjs module (so something that uses module.exports = ...), for node and browser.
nodejs thread-pool web-worker isomorphic-javascript threads cluster child_process threadpool spawn fork parallelStlab Concurrency library provides high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing the contention.
concurrency cpp-library threads futuresA tiny wrapper for turning Node.js threads in easy-to-use routines for CPU-bound. Microjob is a tiny wrapper for Node.js threads and is intended to perform heavy CPU loads using anonymous functions. So, Microjob treats Node.js threads as temporary working units: if you need to spawn a long-living thread, then you should use the default API.
thread nodejs threading multithreading jobsThe Joins project provides asynchronous concurrency semantics based on join calculus and modeled after the Microsoft Research C? (C Omega) project.
asynchronous concurrency threadingSTSdb Multi-Threading Layer C# Csharp
database embedded mono multithreadingTymeacAND is a full-feature, multi-threading, fork-join framework for Android devices. Development (IPC and internal server). TymeacAND provides a high performance queuing facility, professional thread management and recursive processing that is easy to use.
fork-join parallel thread-management queue
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.