From alexander.terekhov at gmail.com Fri Jul 3 18:08:49 2009 From: alexander.terekhov at gmail.com (Alexander Terekhov) Date: Fri, 3 Jul 2009 19:08:49 +0200 Subject: [cpp-threads] N2907 examples using new_thread_local { } Message-ID: Just a thought regarding http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2907.html * * * std::mutex task_mutex; std::queue> tasks; std::condition_variable task_cond; bool done=false; void worker_thread() { std::unique_lock lk(task_mutex); while(!done) { task_cond.wait(lk,[]{return !tasks.empty();}); std::function task=tasks.front(); tasks.pop_front(); lk.unlock(); new_thread_local { task(); } lk.lock(); } } * * * static thread_local int i=0; int main() { i=42; new_thread_local { std::cout<