nowfound

Life & fun · alternatives · 2026

24 alternatives to C++ Multi-channel/-process/-thread, allocation & communication library

Inter-process C++ communication library to enable allocation managed between processes/threads and send/receive of allocated regions between producers/consumer processes or threads using this IPC buffer. (and yes it implements an M:N ring buffer too) - Usage · RaftLib/ipc Wiki

This C++ library provides tools for multi-channel, multi-process, and multi-thread operations with built-in allocation and communication capabilities. It is designed for developers building concurrent applications that… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. C++ Multi-channel/-process/-thread, allocation & communication library launched in 2021; newer entries below may have overtaken it.

  1. 1

    If you work in C++, and you would like 2+ programs to share data structures (and/or native I/O handles a.k.a. FDs) among each other, there is a good chance Flow-IPC - will make it considerably less annoying to code than typical approaches; and - may massively reduce the latency involved. Those sharing Cap'n Proto-encoded data may have particular interest. Cap'n Proto (https://capnproto.org) is fantastic at its core task - in-place serialization with zero-copy - and we wanted to make the IPC (inter-process communication) involving capnp-serialized messages be zero-copy,…

    2024 · github.com · its alternatives →

  2. 2

    Hello everyone, Today we released iceoryx2 v0.4! iceoryx2 is a service-based inter-process communication (IPC) library designed to make communication between processes as fast as possible - like Unix domain sockets or message queues, but orders of magnitude faster and easier to use. It also comes with advanced features such as circular buffers, history, event notifications, publish-subscribe messaging, and a decentralized architecture with no need for a broker. For example, if you're working in robotics and need to process frames from a camera across multiple processes, iceoryx2 makes it…

    2024 · ekxide.io · its alternatives →

  3. 3

    Simple, easy to use stream computation library for C++.

    2016 · raftlib.io · its alternatives →

  4. 4

    Pure C implementation of Go channels. Contribute to tylertreat/chan development by creating an account on GitHub.

    2014 · github.com · its alternatives →

  5. 5

    A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.

    2023 · github.com · its alternatives →

  6. 6

    Concurrency library for C (coroutines). Contribute to tidwall/neco development by creating an account on GitHub.

    2024 · github.com · its alternatives →

  7. 7

    Hi all, I have built Cimba, a multithreaded discrete event simulation library in C. Cimba uses POSIX pthread multithreading for parallel execution of multiple simulation trials, while coroutines provide concurrency inside each simulated trial universe. The simulated processes are based on asymmetric stackful coroutines with the context switching hand-coded in assembly. The stackful coroutines make it natural to express agentic behavior by conceptually placing oneself "inside" that process and describing what it does. A process can run in an infinite loop or just act as a one-shot customer…

    Feb 2026 · github.com · its alternatives →

  8. 8UC
  9. 9IB
  10. 10

    :copyright: Concurrent Programming Library (Coroutine) for C11 - sharow/libconcurrent

    2016 · github.com · its alternatives →

  11. 11

    A ring buffer designed to work with embedded devices, does not use heap allocations. - RichardB01/EmbeddedRingBuffer

    2021 · github.com · its alternatives →

  12. 12

    Hello Hacker News. I’m Martin, a graduate student from Prague, and I’ve been working on Coros, a C++ library for task-based parallelism. After spending some time with OpenMP and oneTBB, I wanted to try building a library using modern features from the C++ standard library. I’ve used coroutines for task encapsulation and C++23 expected for exception handling, while trying to maintain good performance. Additionally, I’ve implemented monadic-like behavior to allow easy chaining of tasks, similar to the monadic operations in std::expected. You can check out the project here:…

    2024 · github.com · its alternatives →

  13. 13

    Non-preemptive Thread Hierarchy Manager. Contribute to gueststar/nthm development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  14. 14

    A C++ library for concurrent programming. Contribute to ademakov/Evenk development by creating an account on GitHub.

    2015 · github.com · its alternatives →

  15. 15LA
  16. 16BA
  17. 17

    Single header stackful cross-platform coroutine library in pure C. - edubart/minicoro

    2021 · github.com · its alternatives →

  18. 18

    C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets - paullouisageneau/libdatachannel

    2019 · github.com · its alternatives →

  19. 19

    I love C and C++, but setting up projects can sometimes be a pain. Every time I wanted to start something new I'd spend the first hour writing CMakeLists.txt, figuring out find_package, copying boilerplate from my last project, and googling why my library isn't linking. By the time the project was actually set up I'd lost all momentum. So, I built Craft - a lightweight build and workflow tool for C and C++. Instead of writing CMake, your project configuration goes in a simple craft.toml: [project] name = "my_app" version = "0.1.0" language = "c" c_standard = 99 [build] type = "executable"…

    Apr 2026 · github.com · its alternatives →

  20. 20LT
  21. 21

    Hey HN, this is Will and David from Fortress (https://news.ycombinator.com/item?id=41426998). We use a lot of async Rust internally, and created this library out of a need for an async-aware concurrent hashmap since there weren’t many available in the Rust ecosystem. Whirlwind is a sharded HashMap with a fully asynchronous API. Just as dashmap is a replacement for std::sync::RwLock, whirlwind aims to be a replacement for tokio::sync::RwLock. It has a similar design and performance characteristics to dashmap, but seems to perform better in read-heavy workloads with tokio's…

    2024 · github.com · its alternatives →

  22. 22

    Hi HN, To truly understand how operating systems and network protocols work, I decided to combine two classic learning tools: the xv6 teaching OS and a from-scratch TCP/IP stack. I'm excited to share the result: my own from-scratch TCP/IP networking stack running directly inside the xv6-riscv (https://github.com/pandax381/xv6-riscv-net) kernel. The project uses a modern virtio-net driver, allowing it to run seamlessly in QEMU and communicate with the host machine. Key features: - From-Scratch Stack: The core is powered by microps…

    2025 · github.com · its alternatives →

  23. 23

    Thread-safe container for sharing elements between threads.

    2020 · github.com · its alternatives →

  24. 24

    This project launches multiple independent programs into a single shared virtual address space, while still behaving like separate processes (independent binaries, globals, and lifetimes). When threadprocs share their address space, pointers are valid across them with no code changes for well-behaved Linux binaries. Unlike threads, each threadproc is a standalone and semi-isolated process. Unlike dlopen-based plugin systems, threadprocs run traditional executables with a `main()` function. Unlike POSIX processes, pointers remain valid across threadprocs because they share the same address…

    Mar 2026 · github.com · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →