《windows核心编程》读后编码--创建线程
来源:互联网 发布:网络神作小说 知乎 编辑:程序博客网 时间:2024/05/22 06:30
// 多线程处女篇--创建线程.cpp : 定义控制台应用程序的入口点。
//VS2010上编译通过
#include "stdafx.h"
#include <Windows.h>//for call CreateThread
#include <cstdlib>//for call system("pause")
#include<iostream>
using namespace std;
DWORD WINAPI ChildThreadFunc(LPVOID lpParam);
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"操作系统正在动态分配ID"<<endl;
cout<<"当前线程(主线程)的ID为:"<<GetCurrentThreadId()<<endl;
HANDLE handle = CreateThread(NULL, 0, ChildThreadFunc, NULL, 0, NULL);
DWORD l_dwWaitResult;
l_dwWaitResult=WaitForSingleObject(handle, INFINITE); //等待函数,此函数等待线程handle标识的内核对象触发(线程执行结束时管理该线程的内核对象才被触发)INFINITE标志无限等待(该参数代表应等待的时间(毫秒级))
BOOL gb_CheckResult=FALSE;
switch (l_dwWaitResult)
{
case WAIT_OBJECT_0:
{
cout<<"等待函数执行成功!(已经触发)"<<endl;
gb_CheckResult=TRUE;
break;
}
case WAIT_TIMEOUT:
{
cout<<"等待函数过时!(未触发)"<<endl;
break;
}
case WAIT_FAILED:
{
cout<<"等待函数执行失败!(未触发)"<<endl;
break;
}
}
if (gb_CheckResult)
{
cout<<"子线程执行结束"<<endl;
}
cout<<"当前线程(主线程)的ID为:"<<GetCurrentThreadId()<<endl;
CloseHandle(handle);//我们现在对该线程没兴趣了,就要关闭内核对象句柄
system("pause");
return 0;
}
DWORD WINAPI ChildThreadFunc(LPVOID lpParam)
{
cout<<"ID号为:"<<GetCurrentThreadId()<<"线程进入"<<endl;
return 0;
}
- 《windows核心编程》读后编码--创建线程
- 《windows核心编程》读后编码--原子操作
- 《windows核心编程》读后编码--关键段
- windows 核心编程-读后总结 -第六章 线程基础
- Windows核心编程之线程创建
- windows核心编程-创建线程CreateThread
- windows核心编程--线程
- windows 核心编程 线程
- windows核心编程--线程
- windows核心编程--线程
- Windows核心编程--线程
- windows核心编程--线程高级
- windows核心编程--线程池
- windows核心编程--线程高级
- windows核心编程--线程池
- Windows核心编程:线程基础
- Windows核心编程:线程调度
- 线程基础----Windows核心编程
- ROS探索总结(八)——键盘控制
- 李开复:真正成功的公司源于伟大的创业理念
- Fatal signal 11问题的解决方法
- C#代码实现邮箱验证C#中及一些常用的正则表达式
- 使用java操作wavecom短信猫来发短信的方法
- 《windows核心编程》读后编码--创建线程
- 数据库初步了解
- kernel参数值设定
- 电脑里的所有播放器只能播放声音没有画面
- twemproxy源码解析系列三
- js关于字母与ASCII码数字之间的转换
- Android手机部分名词浅谈
- ubuntu-----修改ubuntu终端显示目录和计算机名称
- 一步一步学GTK+之开篇