just::thread Support Forum
General Category => General Discussion about just::thread => Topic started by: Anthony Williams on February 04, 2011, 05:50:52 PM
-
I am pleased to announce that version 1.5.0 of just::thread (http://www.stdthread.co.uk), our C++0x Thread Library (http://www.stdthread.co.uk) 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 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3225.pdf). 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:
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.