评论

收藏

[C++] c++ _beginthread

编程语言 编程语言 发布于:2021-08-07 13:10 | 阅读数:266 | 评论:0

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


关注下面的标签,发现更多相似文章