阅读量:0
_beginthread()
函数是C语言中的多线程创建函数,用于创建一个新的线程。以下是_beginthread()
函数的使用方法:
#include <iostream> #include <process.h> // 包含 _beginthread() 函数的头文件 // 子线程函数 void ThreadFunc(void* arg) { std::cout << "This is a child thread." << std::endl; } int main() { // 创建一个新线程 unsigned int threadId; intptr_t handle = _beginthread(ThreadFunc, 0, nullptr); if (handle == -1) { std::cerr << "Failed to create a new thread." << std::endl; return 1; } // 等待子线程结束 _endthreadex(0); std::cout << "Main thread exits." << std::endl; return 0; }
在上面的示例中,我们首先包含了<process.h>
头文件,然后定义了一个子线程函数ThreadFunc
。在main()
函数中,我们调用_beginthread()
函数创建了一个新线程,并将子线程函数ThreadFunc
作为参数传递给它。_beginthread()
函数的第一个参数是要执行的子线程函数,第二个参数是堆栈大小(0表示使用默认堆栈大小),第三个参数是传递给子线程函数的参数。_beginthread()
函数返回一个句柄,可以用于后续操作。
在主线程中,我们使用_endthreadex()
函数等待子线程结束。然后,主线程输出一条消息并退出。
请注意,_beginthread()
函数是C语言的函数,因此在C++中使用时需要包含<process.h>
头文件,并使用std::cout
和std::cerr
输出消息。另外,_beginthread()
函数返回的句柄可以用于后续操作,例如等待线程结束或关闭线程句柄等。