码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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优先级的状态。

    ​

    编辑

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

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

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

    LabVIEW中编程更改进程的优先级 - 北京瀚文网星科技有限公司 (bjcyck.com)

     

  • 相关阅读:
    Python小游戏自己动手编写,你能写出几个(分享版)
    oracle存储过程实现定时备份表和处理重复数据
    (Qt) qtxlsx 读写excel使用基础
    通信达交易接口的http协议
    第九节:揭开交互的秘密:如何制作原型图
    感谢信 | 企企通赋能鲜丰水果搭建特色数字化供应链协同系统,领跑中国水果连锁品牌
    机组 硬件
    先序遍历序列+中序遍历序列构建二叉树
    身临其境之谁是猎人
    尚硅谷axios笔记——入门学习
  • 原文地址:https://blog.csdn.net/bjcyck/article/details/126002875
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号