您的位置:首页 > 其它

基于vc6.0的创建线程程序的问题,为什么如下程序每次运行的结果会不一样呢?

2014-03-04 22:03 561 查看
#include <windows.h> //包含相应头文件

#include <stdio.h>

DWORD WINAPI myfun1( //声明线程函数

LPVOID lpParameter

);

DWORD WINAPI myfun2(

LPVOID lpParameter

);

int main() //主函数

{

HANDLE h1,h2;
//定义句柄变量

h1=::CreateThread(NULL,0,myfun2,NULL,0,NULL);
//创建线程1

printf("线程1开始运行!\r\n");
//输出线程1运行信息

h2=::CreateThread(NULL,0,myfun1,NULL,0,NULL);
//创建线程2

printf("线程2开始运行!\r\n");
//输出线程2运行信息

::CloseHandle(h2);
//关闭线程句柄对象

::CloseHandle(h1);

if(getchar()=='q') //如果用户输入字符"q"

{

return 0;
//程序正常退出

}

else //如果用户输入的字符不是"q"

{

::Sleep(100);
//程序睡眠

}

return 0;

}

DWORD WINAPI myfun1(LPVOID lpParameter) //分别实现线程函数

{

printf("线程1正在运行!\r\n");
//输出信息

return 0;
//正常结束线程函数

}

DWORD WINAPI myfun2(LPVOID lpParameter)

{

printf("线程2正在运行!\r\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐