#rethread
Rethread is a header-only C++ library that implements cancellation tokens and RAII-compliant threads.
Getting started information is available in the rethread tutorial.
For performance considerations, take a look at benchmarks.
Also, there's an advanced guide about custom cancellation handlers.
Design rationale is available here.
Tests and benchmarks are kept in a separate repository: rethread_testing.
##Features
- RAII-compliant threads
- Cancellable waits on any
condition_variable
- Does not require exceptions
- Fine granularity - can cancel separate tasks without terminating the whole thread
- Can interrupt any POSIX call that cooperates with
poll
- Custom cancellation handlers support
- Super low price for cancellability - sometimes cancellable functions actually work faster!
##Platforms Cancellation tokens, threads and cancellable waits for condition variables are implemented in terms of standard C++11. Obviously, cancelling blocking calls to the OS can't be platform-agnostic.
rethread
is continuously tested with the following compilers:
#####Travis
- gcc-4.8
- clang-3.5
- Visual Studio 2013
- Visual Studio 2015
There should be no major issues with porting rethread
to C++98, but I see no reason in doing it right now.