Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5394415
  • 博文数量: 1271
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 15141
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1271)

文章存档

2020年(55)

2019年(193)

2018年(81)

2017年(80)

2016年(70)

2015年(52)

2014年(41)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: Android平台

2016-05-30 11:32:01

#include "stdafx.h"
#include
#include

using namespace std;
 
DWORD WINAPI ThreadFuncFirst(LPVOID param)
{
 int iCount = 50;
 while(iCount--){
  cout<<"\nThreadFuncFirst:"<  }
 return 0;
}

DWORD WINAPI ThreadFuncSecond(LPVOID param)
{
 int iCount = 50;
 while(iCount--){
  cout<<"\nThreadFuncSecond:"<  }
 return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
 DWORD dwThreadID = 0;
 HANDLE handleFirst = CreateThread(NULL, 0, ThreadFuncFirst, 0, 0, &dwThreadID);
 if (!handleFirst)
 {
  cout<<"create thread 1 error:"<  }
 HANDLE handleSecond = CreateThread(NULL, 0, ThreadFuncSecond, 0, 0, &dwThreadID);
 if (!handleSecond)
 {
   cout<<"create thread 2 error:"<  }

//HANDLE arrayHandle[] = {handleFirst, handleSecond};
 //WaitForMultipleObjects(2, arrayHandle, TRUE, INFINITE);
 WaitForSingleObject(handleFirst, INFINITE);//等待线程返回,用sleep()就太山寨了
 WaitForSingleObject(handleSecond, INFINITE);
 CloseHandle(handleFirst);//句柄默认值2 这里减1,线程函数执行完后释放资源。
 CloseHandle(handleSecond);
 return 0;
}

 

另外,由于这里的两个线程函数在输出时没有加同步处理,所以输出时候有线程切换,你看到屏幕上的输出可能比较杂乱。

阅读(1551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~