LabVIEW中编程更改进程的优先级

简介: LabVIEW中编程更改进程的优先级

LabVIEW中编程更改进程的优先级


在labVIEW中可以调用kernel32动态链接库来更改进程的优先级。需要两个函数:GetCurrentProcess()和SetPriorityClass()。


有6个优先级可供选择,这6个优先级及其标识码列表如下:


空闲(IDLE): IDLE_PRIORITY_CLASS


次低(BELOWNORMAL): BELOW_NORMAL_PRIORITY_CLASS


普通(NORMAL): NORMAL_PRIORITY_CLASS


次高(ABOVENORMAL): ABOVE_NORMAL_PRIORITY_CLASS


高级(HIGHPRIORITY): HIGH_PRIORITY_CLASS


实时(REALTIME): REALTIME_PRIORITY_CLASS


在LabVIEW中,首先建立一个调用库函数节点,并指向kernel32.dll(一般位于c:\windows\system32)。建立调用后函数原型的样子为:


unsigned longGetCurrentProcess(void)


因为这是调用了Windows的API函数,调用方式改为stdcall(WINAPI)。第二个调用库函数VI与第一个相似,除了使用SetPriorityClass函数。建立第二个调用库函数节点后函数原型的样子为:


unsigned longSetPriorityClass(unsigned long handle, unsigned long priority)


同样的,调用方式改为stdcall(WINAPI)。 GetPriorityClass函数的返回值与SetPriorityClass函数的句柄相关,相应的优先级类型是十六进制 (hex)。在winbase.h文件中(包含在Microsoft的WIN32 SDK中),可以找到定义优先级的声明。它们是:


#defineIDLE_PRIORITY_CLASS 0x00000040


#defineBELOW_NORMAL_PRIORITY_CLASS 0x00004000


#define NORMAL_PRIORITY_CLASS0x00000020


#defineABOVE_NORMAL_PRIORITY_CLASS 0x00008000


#defineHIGH_PRIORITY_CLASS 0x00000080


#defineREALTIME_PRIORITY_CLASS 0x00000100


使用这些值,可以指定线程的优先级。举例来说,如果想把进程的优先级设置为空闲(IDLE),只要在调用库函数节点的输入端连上一个十六进制值为40的常数就好了。


打开、运行附件中的例子。运行例子的时候,打开Windows的任务管理器,在更改LabVIEW程序的优先级的时候可以观察LabVIEW优先级的状态。

41d7732fb663df13b9ab707204292dc9.png

编辑

添加图片注释,不超过 140 字(可选)

LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序

上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系我们。


相关文章
|
5天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
5天前
|
测试技术
LabVIEW ​​单​进程​共享​变量​与​​全局​变量
LabVIEW ​​单​进程​共享​变量​与​​全局​变量
12 1
|
5天前
|
Unix Linux
【Linux】一文了解【进程优先级相关知识点】&【PRI / NI值】背后的修正原理(13)
【Linux】一文了解【进程优先级相关知识点】&【PRI / NI值】背后的修正原理(13)
|
5天前
|
Linux
|
5天前
|
Java API 调度
[Java并发基础]多进程编程
[Java并发基础]多进程编程
|
5天前
|
Linux Shell 调度
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
|
5天前
|
Linux 调度
【Linux】进程优先级
【Linux】进程优先级
|
5天前
|
算法 Linux 调度
【Linux】详谈进程优先级&&进程调度与切换
【Linux】详谈进程优先级&&进程调度与切换
|
5天前
|
存储 Linux Shell
Linux:进程等待 & 进程替换
Linux:进程等待 & 进程替换
30 9
|
5天前
|
存储 Linux C语言
Linux:进程创建 & 进程终止
Linux:进程创建 & 进程终止
28 6