绝代码农 发表于 2021-8-7 13:10:23

c++ _beginthread

c++多线程编程
1 #include <windows.h>
2 #include <process.h> /* _beginthread, _endthread */
3 #include <iostream>
4
5 using namespace std;
6
7 void show(void *ptr);
8
9 int main(){
10   _beginthread(show, 0, NULL);
11   Sleep(50000);
12   return 0;
13 }
14
15 void show(void *ptr){
16   int i = 0;
17   cout<<"i am in"<<endl;
18   while(++i){
19         if(10 == i){
20             _endthread();
21         }
22         cout<<"i = "<<i<<endl;
23         Sleep(1000);
24   }
25   
26 }用__beginthread开始线程,用_endthread结束线程
ps:下面来自百度百科
uintptr_t _beginthread(
void( *start_address )( void * ),
unsigned stack_size,
void *arglist
);
这个是_beginthread()函数原型
参数:
start_address
新线程的起始地址 ,指向新线程调用的函数的起始地址
stack_size
新线程的堆栈大小,可以为0
arglist
传递给线程的参数列表,无参数时为NULL
返回值:
假如成功,函数将会返回一个新线程的句柄,用户可以像这样声明一个句柄变量存储返回值:
HANDLE hStdOut = _beginthread( CheckKey, 0, NULL )。如果失败_beginthread将返回-1。
可以参考msdn:http://msdn.microsoft.com/en-us/library/kdzttdcb(v=vs.80).aspx


文档来源:51CTO技术博客https://blog.51cto.com/u_2498536/3305288
页: [1]
查看完整版本: c++ _beginthread