All Projects → reyreaud-l → Threadpool

reyreaud-l / Threadpool

Licence: mit
Modern C++ Thread Pool

Programming Languages

cpp
1120 projects
cpp11
221 projects
cpp14
131 projects

Projects that are alternatives of or similar to Threadpool

Ems
Extended Memory Semantics - Persistent shared object memory and parallelism for Node.js and Python
Stars: ✭ 552 (+1352.63%)
Mutual labels:  multithreading
Vertx Embedded Springboot
Vert.x embeded Springboot
Stars: ✭ 19 (-50%)
Mutual labels:  multithreading
Autooffload.jl
Automatic GPU, TPU, FPGA, Xeon Phi, Multithreaded, Distributed, etc. offloading for scientific machine learning (SciML) and differential equations
Stars: ✭ 21 (-44.74%)
Mutual labels:  multithreading
Taskflow
A General-purpose Parallel and Heterogeneous Task Programming System
Stars: ✭ 6,128 (+16026.32%)
Mutual labels:  multithreading
Interlace
Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.
Stars: ✭ 760 (+1900%)
Mutual labels:  multithreading
Worker Threads Nodejs
Benchmark nodeJS worker threads for calculating prime numbers, using various dataStructures
Stars: ✭ 27 (-28.95%)
Mutual labels:  multithreading
Poshrsjob
Provides an alternative to PSjobs with greater performance and less overhead to run commands in the background, freeing up the console and allowing throttling on the jobs.
Stars: ✭ 447 (+1076.32%)
Mutual labels:  multithreading
Enkits
A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
Stars: ✭ 962 (+2431.58%)
Mutual labels:  multithreading
Xnnpack
High-efficiency floating-point neural network inference operators for mobile, server, and Web
Stars: ✭ 808 (+2026.32%)
Mutual labels:  multithreading
Ppipe
A simple and lightweight Rust library for making iterator pipelines concurrent
Stars: ✭ 13 (-65.79%)
Mutual labels:  multithreading
Brynet
A Header-Only cross-platform C++ TCP network library . Can use vcpkg(https://github.com/Microsoft/vcpkg/tree/master/ports/brynet) install
Stars: ✭ 674 (+1673.68%)
Mutual labels:  multithreading
Swiftcoroutine
Swift coroutines for iOS, macOS and Linux.
Stars: ✭ 690 (+1715.79%)
Mutual labels:  multithreading
Puma
A Ruby/Rack web server built for parallelism
Stars: ✭ 6,924 (+18121.05%)
Mutual labels:  multithreading
Javamtp
《Java多线程编程实战指南(设计模式篇)》源码
Stars: ✭ 575 (+1413.16%)
Mutual labels:  multithreading
Thread Loader
Runs the following loaders in a worker pool
Stars: ✭ 945 (+2386.84%)
Mutual labels:  multithreading
Hamsters.js
100% Vanilla Javascript Multithreading & Parallel Execution Library
Stars: ✭ 517 (+1260.53%)
Mutual labels:  multithreading
Jpegrtspcamera
Sample RTSP server streaming MJPEG video from PC camera
Stars: ✭ 25 (-34.21%)
Mutual labels:  multithreading
Asynchronize
A declarative syntax for creating asynchronous methods.
Stars: ✭ 35 (-7.89%)
Mutual labels:  multithreading
Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-21.05%)
Mutual labels:  multithreading
Lib
single header libraries for C/C++
Stars: ✭ 866 (+2178.95%)
Mutual labels:  multithreading

ThreadPool Build Status: master Doc Status: master

Modern C++ Thread Pool

Available features

  • Multiple queue multiple workers Threadpool.
  • Fetch results of tasks run in the pool with future.
  • Fetch number of waiting/working workers.
  • Hooks to monitor the threadpool (tasks/workers)

Getting ThreadPool

Github Releases

You can get the latest releases for Linux x86_64 and Mac OSX from the github release page.

The latest release can be found here.

Install from source

To install, run the following commands to clone the repository and install:

$ git clone [email protected]:reyreaud-l/threadpool.git
$ cd threadpool
$ mkdir build
$ cd build
$ cmake ..
$ make install

Uninstall

To uninstall, run the following command in build directory.

$ make uninstall

Changelog

The changelog can be found in doc/src/changelog.rst or on ReadTheDoc

Using ThreadPool

Documentation

Documentation is available on ReadTheDoc

You will find multiples examples and a how to get started.

Compatibility

ThreadPool is tested on these platforms/compilers:

  • Linux
    • gcc: 4.9, 5, 6, 7, 8
    • clang: 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 6.0
  • OSX
    • clang xcode: 7.3, 8, 8.1, 8.2, 8.3, 9, 9.1, 9.2, 9.3, 9.4, 10

Contributing ThreadPool

Contribute

To contribute, simply submit a PR to the repository or create and issue and I'll take a look at it. Feel free to do whatever you want as well!

The unreleased modification are on the staging branch. The master branch contains all the releases.

Tests

To tests, enable option BUILD_TESTS:

$ cmake -DBUILD_TESTS=ON ..

Then the check target becomes available and you can build it running

$ make check

Examples

To build the examples, enable option BUILD_EXAMPLES:

$ cmake -DBUILD_EXAMPLES=ON ..

Then the examples target becomes available and you can build it running

$ make examples
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].