线程构造的幕后
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::thread
或 std::thread
),则无法实现线程 class依赖上述 OS 提供的线程原语。
知道如何使用线程。但是线程库是怎么实现的。我的意思是,就像我们有 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::thread
或 std::thread
),则无法实现线程 class依赖上述 OS 提供的线程原语。