_beginthreadex、
时间: 2023-12-11 08:47:58 浏览: 78
采用_beginthreadex创建多线程
5星 · 资源好评率100%
`_beginthreadex` 是一个 Microsoft Windows 平台特有的函数,用于创建一个新的线程。
其函数原型为:
```c
unsigned int __stdcall _beginthreadex(
void *security,
unsigned stack_size,
unsigned (__stdcall *start_address)(void*),
void *arglist,
unsigned initflag,
unsigned *thrdaddr
);
```
参数说明:
- `security`:指向线程安全属性的指针,可以为 `NULL`。
- `stack_size`:线程堆栈的大小,可以为 0。
- `start_address`:指向线程函数的指针,该函数必须是 `unsigned int __stdcall` 类型。
- `arglist`:传递给线程函数的参数。
- `initflag`:线程的初始状态,可以为 0 或 CREATE_SUSPENDED。
- `thrdaddr`:指向线程标识符的指针。
该函数返回一个线程标识符,表示新创建的线程。如果创建线程失败,则返回 0。
注意事项:
- 在使用 `_beginthreadex` 函数创建线程时,必须调用 `_endthreadex` 函数来结束线程。
- 在使用 `_beginthreadex` 函数创建线程时,必须在创建的线程函数中调用 `_beginthreadex` 函数来初始化 C 运行时环境。
- 在使用 `_beginthreadex` 函数创建线程时,必须在主线程中调用 `_beginthreadex` 函数,因为该函数使用主线程的 C 运行时环境。
阅读全文