C++ Standard Thread Library
The C++ standard (C++11) supports multithreading and concurrency both as an inherent part of the memory model, and as part of the C++ Standard Library.
With the just::thread C++ Standard Thread Library
implementation, you can start using the C++11 thread library
today — no need to wait for a new compiler.
For more information, please see below for an overview, or the full documentation.
Order your copy of just::thread today, and get
started within minutes.
New: just::thread Pro: Actors Edition
The first release of Just::Thread Pro is here. The Actors Edition provides a
framework for creating actors that run on separate threads, and communicate via message passing,
as well
as jss::synchronized_value
for synchronizing access to a single object
and jss::concurrent_map,
a hash map that is safe for concurrent access from multiple threads.
For more information, please see the overview, or the full documentation.
Order your copy of just::thread Pro: Actors today, and get started within minutes.
What do you get with just::thread?
- A complete implementation of the C++11 standard thread
library. We are currently the only vendor supplying a
complete C++11 thread library for any compiler,
and
just::threadprovides tight adherence to the C++11 Standard. - Support for detecting the cause of deadlocks, including full stack traces of the code leading up to the deadlock.
- FREE updates — if the library is updated to fix any bugs or improve the conformance with the C++11 standard, you will be entitled to a free upgrade to any V1.x release.
- A royalty free license for a single developer. Once you've purchased a license for each of your developers, you don't need to pay us a penny more, even if you ship a million copies of your application.
- A 30 day money-back guarantee. If the library doesn't meet your expectations, let us know, and we'll issue you with a refund.
- Dedicated support — every post to our support forum is answered.
- Portable code — by using the multithreading
facilities from the C++ standard your code will be portable across
platforms and compilers, both now (for plaforms and compilers
supported by
just::thread) and in the future (as more compiler and library vendors add support).
Features
- Developed by Anthony Williams, author or co-author of many of the threading-related proposals for C++11, author of C++ Concurrency in Action and maintainer of the Boost thread library.
- Tight adherence to the C++11 Standard.
std::threadclass for launching and managing threads.std::asyncfunction for starting asynchronous tasks.- Mutex classes (
std::mutex,std::timed_mutex, etc.) for protecting shared data. - Condition variables (
std::condition_variableandstd::condition_variable_any) for synchronizing operations. - Atomic types (
std::atomic<int>,std::atomic<long>, etc.) for low level atomic access. - Futures and promises
(
std::future,std::promise, etc.) for communicating data between threads. - Thread-local variables using
the
JSS_THREAD_LOCALmacro. - Compatible with Microsoft Visual Studio 2005, 2008,2010 and 2012 and TDM gcc 4.5.2 and 4.6.1 for both 32-bit and 64-bit Windows targets.
- Compatible with g++ 4.3, 4.4, 4.5, 4.6 and 4.7 for 32-bit and 64-bit Debian, Ubuntu, Fedora and Centos linux (x86/x86_64) targets, making full use of the C++11 support from g++ including rvalue references and variadic templates.
- Compatible with MacPorts g++ 4.3, 4.4, 4.5, 4.6 and 4.7 for 32-bit and 64-bit Intel MacOSX targets, again making full use of the C++11 support from g++ including rvalue references and variadic templates.
- Full documentation available online.
- Special debug mode for identifying the call chain leading to a deadlock. (Not available with the TDM gcc compiler for Windows.)