前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows Api学习笔记-设置线程的优先级

Windows Api学习笔记-设置线程的优先级

作者头像
liulun
发布2022-05-09 11:41:55
6780
发布2022-05-09 11:41:55
举报
文章被收录于专栏:liulunliulun
代码语言:javascript
复制
#include <windows.h>
#include <iostream>
using namespace std;

DWORD WINAPI ThreadIdle(LPVOID lpParam)
{
	int i=0;
	while(i++<10)
	{
		cout<<"Idel thread is running"<<endl;
	}
	return 0;
}

DWORD WINAPI ThreadNormal(LPVOID lpParam)
{
	int i=0;
	while(i++<10)
	{
		cout<<"Normal thread is running"<<endl;
	}
	return 0;
}

int main()
{
	DWORD dwThreadId;
	HANDLE h[2];
	h[0] = ::CreateThread(
		NULL,//线程的安全性
		0,//指定线程堆栈大小
		ThreadIdle,//线程函数
		NULL,//线程函数的参数
		CREATE_SUSPENDED,//指定创建线程后是否立即启动,不立即启动
		&dwThreadId//内核给新生成的线程分配的线程ID
		);
	::SetThreadPriority(h[0],THREAD_PRIORITY_IDLE);//把线程的属性设置为空闲,
	::ResumeThread(h[0]);//恢复线程运行
	h[1] = ::CreateThread(
		NULL,
		0,
		ThreadNormal,
		NULL,
		0,
		&dwThreadId
		);//创建的线程默认优先级为Normal
	::WaitForMultipleObjects(
		2,//要等待内核对象的数量
		h,//句柄数组
		TRUE,//是否要等待所有内核对象都成为受信状态
		INFINITE//无限期等待下去
		);
	::CloseHandle(h[0]);
	::CloseHandle(h[1]);
	char a;
	cin >> a;

}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档