Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Anthony Williams

Pages: [1]
I am pleased to announce that Just::Thread V1.8.0 has been released.

This version now supports Microsoft Visual Studio 2012, so you can continue to benefit from Just::Thread when upgrading your compiler.

There are also minor fixes and improvements that affect all platforms.

As usual, existing customers are entitled to a free upgrade to V1.8.0 from all earlier versions.

I am pleased to announce that version 1.7.3 of Just::Thread has been released, with the following changes:

  • The TDM port of gcc v4.6.1 for Windows is now supported
  • gcc v4.6.2 on Fedora 16 is now supported
  • std::thread::id is now a proper nested class rather than a typedef to a namespace-level class.
  • Just::Thread can now be used within a dynamically-loaded DLL on Windows

As usual, existing customers are entitled to a free upgrade to V1.7.3 from all earlier versions.

I am pleased to announce that version 1.7.0 of Just::Thread has been released.

This release adds official support for gcc v4.4 on Centos 6, so Just::Thread is now supported on Centos, Fedora, Ubuntu and Debian Linux distributions, as well as Microsoft Windows and Apple MacOSX.

The main change with this release is an enhancement to the std::async implementation. With this enhanced scheduler, the default launch policy (std::launch::async | std::launch::deferred) will defer forcing a decision until either enough resources become available to schedule the task as std::launch::async, or the task is forced to be scheduled as std::launch:deferred by a call to a waiting function (get(), wait(), wait_for() or wait_until()). This will allow more tasks to be scheduled as std::launch::async overall, and allow your application to make better use of the available hardware concurrency.

The implementation of recursive mutexes has been overhauled, leading to much faster lock and unlock times than in previous releases.

This release also provides debugger visualizers for Microsoft Visual Studio, to better show the state of Just::Thread objects such as futures. This will provide greater insight into the state of your program, and allow easier debugging.

As usual, existing customers are entitled to a free upgrade to V1.7.0 from all earlier versions.

I am pleased to announce that version 1.6.1 of just::thread has been released.

Changes include:
  • Updated API to conform to the Final C++0x Standard draft
  • Support for gcc 4.6 on Ubuntu Natty (using the packages from the Ubuntu Toolchain PPA), Fedora 15 and MacOSX.
  • Support for thread-local variables with non-trivial constructors and destructors using the JSS_THREAD_LOCAL macro in place of the new thread_local keyword (which is not supported in any current compilers) .
  • The std::hash<std::thread::id> specialization has been added.
  • The new constexpr and noexcept keywords are used where supported (gcc 4.6 in -std=c++0x mode.)
  • The return type of lambda functions is correctly deduced in std::async in both gcc 4.5 and 4.6 and MSVC 2010.
  • Various optimizations, including reduction in thread creation code and the overhead of std::async.
  • Added std::chrono::system_clock::from_time_t in place of std::chrono::system_clock::to_time_point.
As usual, existing customers are entitled to a free upgrade to V1.6.1 from all earlier versions.

I am pleased to announce that version 1.5.0 of just::thread, our C++0x Thread Library has just been released.

This release heralds official support for Debian Lenny and Squeeze, and Fedora 13 and 14; no longer are Linux developers restricted to Ubuntu.

This version has also been updated to match the latest C++ working draft. The resultant changes are:

  • There is a new launch policy for std::async: std::launch::deferred. This replaces std::launch::sync, and indicates that the supplied function should be run in the thread that calls get() or wait() on the resultant future rather than asynchronously on its own thread. std::launch::sync is still supported for backwards compatibility.
  • There is a new clock type: std::chrono::steady_clock. This replaces std::chrono::monotonic_clock, and is guaranteed to be continuously increasing at a steady rate. This is the clock used for duration-based timeouts. std::chrono::monotonic_clock is still supported for backwards compatibility.
  • std::atomic_future has been removed from the standard draft. It is therefore deprecated in just::thread, though still supported for backwards compatibility.
  • std::future has a new member function share() for easy conversion to std::shared_future. This works well with the new C++0x use of auto, when you know you want to get a std::shared_future from a std::promise, std::packaged_task or std::async call:
Code: [Select]
int some_function();
std::shared_future<int> f(std::async(some_function)); // old syntax
auto f2=std::async(some_function).share(); // new syntax

This release also provides support for std::atomic<char16_t> and std::atomic<char32_t>, where char16_t and char32_t are provided by the underlying platform.

I am pleased to announce the release of V1.3 of just::thread for both Ubuntu Linux and Windows.

This release includes the following changes:

  • Support for the new std::async function for launching asynchronous tasks with return values. This allows you to quickly and easily take advantage of the available hardware concurrency without excessive oversubscription.
  • Support for the new std::atomic_future class template which allows a single reference to a shared future value to be updated from multiple threads.
  • Support for 64-bit Windows has been added to the Portability Bundle
  • The <cstdatomic> header has been renamed to <atomic>
  • The std::unique_future class template has been renamed to std::future
  • Plus various other small changes to bring the code into line with the current C++0x working draft

General Discussion about just::thread / Linux port now available
« on: August 03, 2009, 12:41:41 PM »
The linux port of just::thread is now available. Get your copy from Existing users please contact us for upgrade pricing.

Full documentation is now available at

I am pleased to announce the third beta release (v0.3) of the
just::thread C++0x standard thread library implementation.

The library offers a complete implementation of the C++0x standard
thread library for users of Microsoft Visual Studio 2008 and Microsoft
Visual C++ Express 2008 for 32-bit Windows targets.

Changes since beta 0.2:

  • Improvements to deadlock detection mode --- deadlocks detected in more scenarios, and better debug information given;
  • Improved implementation of std::ratio support classes used by std::chrono::duration;
  • Better resolution for std::chrono::monotonic_clock;
  • Added conversion to/from time_t for std::chrono::system_clock::time_point;
  • More extensive documentation.

Sign up to this forum and download the beta today!

All beta testers will receive a 25% discount on the final library.

The 0.2 beta release of just::thread is now available. If you would like to test it, please sign up for this forum and go to the Beta Releases discussion board, where it is available for download.

This beta includes the following features missing from the previous beta:

  • Basic documentation
  • Support for additional arguments to the thread constructor
  • Added the missing <stdatomic.h> header.
  • Added missing typedefs to the <cstdatomic> header.
  • Optimized thread class to minimize the number of times the supplied function and arguments are copied.
  • Added new deadlock-detection facility (define _JUST_THREAD_DEADLOCK_CHECK when building).

V0.1 Beta of just::thread has been released today. If you wish to take part in the beta program, please contact

Pages: [1]