构建线程的幕后花絮

Behind the scenes of construction of a thread

本文关键字:幕后花絮 线程 构建      更新时间:2023-10-16

众所周知如何使用线程。但是线程库是如何实现的。我的意思是,就像我们有std::string一样,它的功能可以由用户自己使用 C 字符串(字符数组)进行复制,这很容易。

我的问题是我如何在线程的情况下实现这一点,例如我如何创建一个具有最低限度C++数据类型和函数(没有 WINAPI)、std::线程类功能到类中的类。

我想举个例子,我的老师禁止我使用 std::string,并且只允许使用 C 字符串,但我可以使用 OOP 概念。

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

如果不使用操作系统提供的线程原语或一些更高级别的线程库(如boost::threadstd::thread),则无法实现线程类,而这些库又依赖于所述操作系统提供的线程原语。