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。
 
 
原文地址:https://www.cnblogs.com/luckygxf/p/4024003.html