Saturday, January 10, 2009

C++0x Threading Library Released

Recently, Anthony Williams (author of C++ Concurrency in Action which I also reviewed recently) has recently released version 1.0 of his threading library that is C++0x compliant.

From his blog post about the release, the following is just a list of features available from the library:


The just::thread library is a complete implementation of the new C++0x thread library as per the current C++0x working paper. Features include:


  • std::thread for launching threads.

  • Mutexes and condition variables.

  • std::promise, std::packaged_task, std::unique_future and std::shared_future for transferring data between threads.

  • Support for the new std::chrono time interface for sleeping and timeouts on locks and waits.

  • Atomic operations with std::atomic.

  • Support for std::exception_ptr for transferring exceptions between threads.

  • Special deadlock-detection mode for tracking down the call-stack leading to deadlocks, the bane of multithreaded programming.



The library works with Microsoft Visual Studio 2008 or Microsoft Visual C++ 2008 Express for 32-bit Windows.

from just::thread C++0x Thread Library V1.0 Released.


I'm not sure whether this will be also ported to become Boost.Thread (which Antony also maintains) but I do know that there are currently two versions of a futures library implementation that's ongoing in the Boost C++ Developers Mailing list.

You can get your copy of just::thread commercially from the order site.

0 comments: