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中的附件里,可点击下载。

相关文章
|
3月前
|
存储 NoSQL Java
Tair的发展问题之Tair对于不同存储介质(如内存和磁盘)的线程分配是如何处理的
Tair的发展问题之Tair对于不同存储介质(如内存和磁盘)的线程分配是如何处理的
|
4月前
|
安全 开发者
LabVIEW程序退出后线程仍在运行问题
LabVIEW程序退出后线程仍在运行问题
51 2
|
6月前
|
数据采集 缓存 前端开发
LabVIEW用了多线程,程序是不是会跑的更快些
LabVIEW用了多线程,程序是不是会跑的更快些
73 0
|
Java
Java多线程之线程池(合理分配资源)
3个核心线程都在忙,100个任务都排满了,那就只能找临时员工了
205 0
|
Java Windows C++
windows下利用线程池完成多任务的分配和运行
在做项目的过程中有时候为了提升效率,用了多线程的方法来对任务进行分割和应用,后来发现,采用线程池的方法能更好的利用线程资源来计算任务,网上有很多关于如何运行线程池的例子,msdn上也给出了对应的例子:https://msdn.
1025 0
|
1月前
|
存储 消息中间件 资源调度
C++ 多线程之初识多线程
这篇文章介绍了C++多线程的基本概念,包括进程和线程的定义、并发的实现方式,以及如何在C++中创建和管理线程,包括使用`std::thread`库、线程的join和detach方法,并通过示例代码展示了如何创建和使用多线程。
38 1
C++ 多线程之初识多线程
|
15天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
13 3
|
15天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
12 2