Just::Thread (C++)
Just::Thread is a C++ library which implements C++0x concurrency features. There is also forthcoming "Pro" version with extended functionality.
Just::Thread Features
- Developed by Anthony Williams, author or co-author of many of the threading-related proposals for C++0x, author of C++ Concurrency in Action and maintainer of the Boost thread library.
- Tight adherence to the C++0x Final Committee Draft.
- std::thread class for launching and managing threads.
- std::async function for starting asynchronous tasks.
- Mutex classes (std::mutex, std::timed_mutex, etc.) for protecting shared data.
- Condition variables (std::condition_variable and std::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.
- Compatible with Microsoft Visual Studio 2005, 2008, and 2010 for both 32-bit and 64-bit Windows targets.
- Compatible with g++ 4.3, 4.4 and 4.5 for 32-bit and 64-bit Ubuntu linux (x86/x86_64) targets, making full use of the C++0x 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.
Just::Thread Pro: Multithreaded code doesn't have to be complicated.
That's the idea behind the Just::Thread Pro library. By providing a set of high level facilities in the library, your application code can be simplified — rather than spending your time on the complexities of multithreading and concurrency you can instead focus on what it is your application is trying to achieve.
Building on the Just::Thread C++0x thread library, Just::Thread Pro will provide facilities to:
Encapsulate communication between threads to avoid deadlocks and race conditions
Easily scale your application to make use of multi-core processors
Parallelize existing single-threaded code without a major rewrite
Just::Thread Pro will be available for all platforms supported by Just::Thread.
For further information refer to: http://www.stdthread.co.uk