C++11 有一些线程的概念。例如,它定义了一个新的存储说明符thread_local
,并指定对于具有此存储说明符的变量,“每个线程都有一个不同的对象或引用”[basic.stc.thread]。
为此目的,什么被认为是“线程”?是否只有使用标准线程库创建的线程(即由std::thread
对象表示的线程)?通过其他方式创建的线程(例如,直接在 Linux 上使用 pthreads)呢?如果我使用一个提供用户空间线程的库怎么办——每个线程都有自己的thread_local
对象副本(我真的不知道如何实现)?
如果答案是“它是由实现定义的,出于诸如“之类的目的而被认为是线程thread_local
”,有人可以举一个例子来说明一个众所周知的实现如何定义它吗?