gpt4 book ai didi

C++新手问题: ThreadProc

转载 作者:搜寻专家 更新时间:2023-10-31 01:23:34 25 4
gpt4 key购买 nike

我只是想了解一些用 C++ 编写的源代码。我有点熟悉但是,对于 C++,以下代码序列对我来说绝对是新的。一个猜测是在这里我向内核注册了一些线程例程,ptest->Run()。是吗?

static unsigned int __stdcall ThreadProc(void *lParameter)  
{
CTest *ptest;

ptest= (Ctest *)lParameter;
ptest->Run();
return 0;
}


CTest::CTest(int n)
{
...
}

最佳答案

有点简化,但线程是一个函数,在本例中为 ThreadProc。线程启动时调用函数,函数退出时线程死亡。

在这种情况下,有人用 CreateThread、begin_thread 或其他东西启动了一个线程,并传入了一个指向名为 CTest 的类的指针作为参数。然后该线程将其转换回 CTest*(如您所见,该参数由 CreateThread API 作为更通用的 void* 传递)并在退出前调用 CTest::Run 方法。

编辑:此外,除了“__stdcall”声明外,这不是特定于 Windows 的。 C 和 C++ 中的线程在所有操作系统上的工作方式或多或少都是这样。

关于C++新手问题: ThreadProc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com