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

简介: #include #include using namespace std; DWORD WINAPI ThreadIdle(LPVOID lpParam) { int i=0; while(i++
#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;

}
目录
相关文章
|
6天前
|
数据采集 Java Linux
面试大神教你:如何巧妙回答线程优先级这个经典考题?
大家好,我是小米。本文通过故事讲解Java面试中常见的线程优先级问题。小明和小华的故事帮助理解线程优先级:高优先级线程更可能被调度执行,但并非越高越好。实际开发需权衡业务需求,合理设置优先级。掌握线程优先级不仅能写出高效代码,还能在面试中脱颖而出。最后,小张因深入分析成功拿下Offer。希望这篇文章能助你在面试中游刃有余!
29 4
面试大神教你:如何巧妙回答线程优先级这个经典考题?
|
3月前
|
监控 Java
线程池大小如何设置
在并发编程中,线程池是一个非常重要的组件,它不仅能够提高程序的响应速度,还能有效地利用系统资源。合理设置线程池的大小对于优化系统性能至关重要。本文将探讨如何根据应用场景和系统资源来设置线程池的大小。
|
5月前
|
Java Spring
spring多线程实现+合理设置最大线程数和核心线程数
本文介绍了手动设置线程池时的最大线程数和核心线程数配置方法,建议根据CPU核数及程序类型(CPU密集型或IO密集型)来合理设定。对于IO密集型,核心线程数设为CPU核数的两倍;CPU密集型则设为CPU核数加一。此外,还讨论了`maxPoolSize`、`keepAliveTime`、`allowCoreThreadTimeout`和`queueCapacity`等参数的设置策略,以确保线程池高效稳定运行。
553 10
spring多线程实现+合理设置最大线程数和核心线程数
|
4月前
|
Java
线程池设置原则
线程池设置原则
|
4月前
|
Java Linux 调度
Java线程的优先级详解
Java线程的优先级机制允许开发者根据程序需求为线程设定不同优先级,范围通常在1到10之间,默认优先级为5。高优先级线程在执行时通常会得到更多的CPU时间,但这并不意味着低优先级线程会被完全忽略。系统资源分配仍然取决于具体的调度策略。理解线程优先级有助于优化多线程应用的性能。
260 8
|
4月前
|
Windows
重装系统学习笔记(一):Windows10重装步骤(正版)
这篇博客文章详细介绍了如何使用微软官方工具重装Windows 10系统,包括下载安装工具、准备U盘、设置BIOS以及系统安装的步骤。
88 0
重装系统学习笔记(一):Windows10重装步骤(正版)
|
5月前
|
Docker Windows Python
Windows-Docker学习笔记(一)
本文介绍了Windows环境下Docker的安装与使用方法。首先通过链接下载Windows版本的Docker,然后按步骤配置:启用Windows功能、设置默认WSL版本为2,并检查Docker及其组件是否正常工作。接着详细列出了Docker的基础命令及其用法,包括搜索、下载镜像、管理容器等。同时介绍了Dockerfile的编写方法及其构建过程,以及docker-compose.yml文件的用途。最后提供了运行和管理容器的具体示例。
Windows-Docker学习笔记(一)
|
5月前
|
存储 开发者 Windows
WINDOWS 环境变量设置方法
本文旨在帮助使用Windows电脑的开发者们为其设备配置环境变量,以更好地支持大模型应用的开发工作。文中详细介绍了三种配置方法:一是将环境变量设置为系统级变量;二是在命令行界面通过`SET`命令或`PowerShell`临时设置变量;三是借鉴MAC的方式,创建全局环境变量文件`.zshrc`进行配置。这些方法简单实用,便于根据实际需求选择适合的方式进行配置。
|
6月前
|
安全 Java API
|
6月前
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
71 1

热门文章

最新文章