LabVIEW分配多少线程?

简介: LabVIEW分配多少线程?

LabVIEW分配多少线程?


解答:在LabVIEW中分配的线程是动态的,回答这个问题没有唯一答案。LabVIEW分配许多不同类型的线程:


一个UI线程,用于屏幕刷新和键盘鼠标输入。这个线程同时也用于特定VI的执行,譬如属性节点,非安全线程和DLL等。


一对定时线程,LabVIEW内部使用。(Windows95/NT分配额外的内部使用线程)


20个执行线程(perCPU).请看如下更多信息。


在Windows95/NT,线程动态地分配给一些操作,这些操作使用ActiveX客户端来控制LabVIEW。


因此,对于单核系统来说,23或者24个线程在应用开始时被分配。如果使用ActiveX客户端,当运行VI时更多的线程被分配。


关于执行线程的备注:


LabVIEW有5个"执行系统",并且每个执行系统分4个不同等级分配线程。于是总共有20个线程,并且没有包含UI线程,其也是用来执行的。分配执行线程是基于系统有多少处理器的。因此一个双核处理器电脑会有40个执行线程加上其他提到的线程。


关于优先级的备注:


子程序VIs总是使用调用执行系统。因此在相同的执行系统中是最有效的。“背景优先级”并没有标准的分配给线程。在这个优先级运行的VI使用更高的优先级的线程,当没有其他线程运行时。


高级用户可以调整一些分配给系统的线程通过运行如下VI:vi.lib\Utility\sysinfo.llb\threadconfig.vi。


50f319745127491e6b2e746fde611a8c.png

编辑


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



为什么在LabVIEW中关闭多线程?


要关闭多线程有两个原因:


使用的是较旧/较慢的计算机


的VI莫名其妙地崩溃


多线程处理可能导致LabVIEW在较旧的电脑上运行速度较慢,因为其资源有限。在这种情况下,关闭多线程可以提高LabVIEW的性能以及其他正在运行的应用程序的性能。


如今,多线程处理主要是为了调试无缘无故崩溃的VI而关闭的。使用被错误地标识为线程安全的ActiveX功能或dll的VI可能会崩溃,因为ActiveX功能或dll损坏了计算机的内存。如果关闭多线程使VI稳定,那么可以将注意力放在代码的这些部分。如果有权访问dll或ActiveX组件的源代码,则可以自己进行更正。如果dll或ActiveX组件来自第三方,则可以将dll设置为在用户界面线程中运行,但ActiveX组件可能要求LabVIEW不能恢复到多线程模式。


在LabVIEW8.2或更高版本中,“选项”对话框中的“性能和磁盘”选项卡不再存在。要关闭多线程处理,您必须手动将一个条目加入LabVIEW.ini文件。将ESys.StdNParallel=0添加到.ini文件,以在LabVIEW中禁用多线程处理。


LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序,相关项目问题,可联系我们。


上文中提到的例子和资料,均在word中的附件里,可点击下载。

相关文章
|
2月前
|
存储 NoSQL Java
Tair的发展问题之Tair对于不同存储介质(如内存和磁盘)的线程分配是如何处理的
Tair的发展问题之Tair对于不同存储介质(如内存和磁盘)的线程分配是如何处理的
|
3月前
|
安全 开发者
LabVIEW程序退出后线程仍在运行问题
LabVIEW程序退出后线程仍在运行问题
40 2
|
5月前
|
数据采集 缓存 前端开发
LabVIEW用了多线程,程序是不是会跑的更快些
LabVIEW用了多线程,程序是不是会跑的更快些
55 0
|
Java
Java多线程之线程池(合理分配资源)
3个核心线程都在忙,100个任务都排满了,那就只能找临时员工了
195 0
|
Java Windows C++
windows下利用线程池完成多任务的分配和运行
在做项目的过程中有时候为了提升效率,用了多线程的方法来对任务进行分割和应用,后来发现,采用线程池的方法能更好的利用线程资源来计算任务,网上有很多关于如何运行线程池的例子,msdn上也给出了对应的例子:https://msdn.
1013 0
|
2月前
|
存储 监控 Java
Java多线程优化:提高线程池性能的技巧与实践
Java多线程优化:提高线程池性能的技巧与实践
63 1
|
4天前
|
数据采集 负载均衡 安全
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
本文提供了多个多线程编程问题的解决方案,包括设计有限阻塞队列、多线程网页爬虫、红绿灯路口等,每个问题都给出了至少一种实现方法,涵盖了互斥锁、条件变量、信号量等线程同步机制的使用。
LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
|
11天前
|
Java Spring
spring多线程实现+合理设置最大线程数和核心线程数
本文介绍了手动设置线程池时的最大线程数和核心线程数配置方法,建议根据CPU核数及程序类型(CPU密集型或IO密集型)来合理设定。对于IO密集型,核心线程数设为CPU核数的两倍;CPU密集型则设为CPU核数加一。此外,还讨论了`maxPoolSize`、`keepAliveTime`、`allowCoreThreadTimeout`和`queueCapacity`等参数的设置策略,以确保线程池高效稳定运行。
69 10
spring多线程实现+合理设置最大线程数和核心线程数