线程构造的幕后

Behind the scenes of construction of a thread

知道如何使用线程。但是线程库是怎么实现的。我的意思是,就像我们有 std::string,它的功能可以通过用户自己使用 C 字符串(字符数组) 进行某种程度的复制,这很容易。

我的问题是如何在线程的情况下实现这一点,比如我如何创建一个 class 具有最低限度的 C++ 数据类型和函数(没有 WINAPI),std::thread 之类的功能进入 class.

我想举个例子,我的老师禁止我使用std::string,只允许使用C-strings,但我可以使用OOP概念..

class string_my
{  
      private:
            char* str;
      public:
         // all the required func. to store the value in char*
 }

如果不使用 OS 提供的线程原语或某些更高级别的线程库(如 boost::threadstd::thread),则无法实现线程 class依赖上述 OS 提供的线程原语。