Subject: Re: [boost] Release managers: Boost.Thread breaking changes in 1.53
From: Artyom Beilis (artyomtnk_at_[hidden])
Date: 2013-01-01 16:34:59
I just want to remind that boost.thread is much wider library than C++11 threading library.
For example two feature that from my point of view C++11 threading library less attractive than
even trivial wrap of pthrads library (or just using C API as is):
- Read-Write locks
- Thread local storage
So going to "Standard library" directon is step backward.
If you need C++11 compient interfaces this is what boost-tr1 for.
CppCMS - C++ Web Framework: http://cppcms.com/
CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/
> From: Rob Stewart <robertstewart_at_[hidden]>
>To: "boost_at_[hidden]" <boost_at_[hidden]>
>Sent: Tuesday, January 1, 2013 11:05 PM
>Subject: Re: [boost] Release managers: Boost.Thread breaking changes in 1.53
>On Jan 1, 2013, at 10:12 AM, Olaf van der Spek <ml_at_[hidden]> wrote:
>> On Mon, Dec 31, 2012 at 6:08 PM, Tim Blechmann <tim_at_[hidden]> wrote:
>>>> Why would anyone writing new software on a modern platform use boost::thread rather than std::thread unless then actually wanted the
>>>> old semantics, anyway?
>>> because one might want to run on systems with an older toolchain? for one of my projects, i have to stay compatible with gcc-4.2 for older osx compilers and with mingw/gcc-4.4 ...
>>> being able to conditionally pull std::thread or boost::thread into scope helps me a LOT in the transition without breaking old compilers. there are a couple of other boost libraries which have the same purpose (atomic, chrono, move)
>> Wouldn't it be simpler to use boost::thread in all cases?
>> Anyway, conditionally using boost or std::thread does not require these breaking changes, does it?
>Of course it does. Using one on one platform and the other on another platform is only plausible if they have the same API and behavior unless the client code is changed for each platform, too.
>That leaves only four options for Boost:
>1. Ignore C++11 compatibility.
>2. Provide exactly C++11 API and behavior.
>3. Provide 2 plus pure extensions.
>4. Provide both 1 and 2 via two namespaces or classes.
>Options 1 and 2 are the simplest for the (mostly) one maintainer of Boost.Thread we have currently.
>I'll add my voice to those that don't want to lose everything that's unique in Boost.Thread. For example, I make good use of interruption points and I haven't taken the time to figure out how to do without them. I suspect I won't like the effect on my code or designs.
>Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk