
Yuval Ronen wrote:
Hi, After reading most of N2320, I have a few comments:
[snip]
* Thread cancellation is new, and disable_cancellation/restore_cancellation are even newer. They are new for C++ programmers, and maybe new for *all* programmers (I never heard of a language with them). I'm not sure if it's a good idea to standardize them before we get some real-life experience with thread cancellation.
What about POSIX Threads (not a language, but a platform)? I don't know to what extent cancellation is used "out in the wild", but the need for a standardized way to cancel a thread is certainly a reality.
* Time issues. To my eyes, it looks not pretty trying to get threading with time issues standardized before we have std::date_time. Making it a templated type not because we want genericity, but because we don't have the type we want yet, makes it look coerced. I think it's best to drop the time-related stuff, and add it properly together with date_time. Using the timed version of thread::join(), mutex::lock() and condition::wait() are very rare, and I think (hope) they can be implemented externally using native_handle().
I can only speak for myself, but I feel that the timed versions of mutex/condition::wait are definitely used often enough to warrant their inclusion. / Johan