LabVIEW与多线程
Intelligent Electronics Institute
Huazhong University of Science &
Technology
目录
多线程技术
LabVIEW多线程环境
LabVIEW多线程程序设计
LabVIEW线程通信与同步
提示与建议
习题
Http://ccms.hust.edu.cn
2
3.1多线程技术
n 基本概念
程序
进程
线程
Ø 程序是指一个静态的指令序列;
Ø 进程为执行程序指令的线程而保留的一系列资
源的集合;
Ø 线程是操作系统用来调度执行的最小单位。
Http://ccms.hust.edu.cn
3
3.1多线程技术
n 多线程
在运行一个多线程的程序时,为了运行所有的线程,操作系统为
每个独立线程安排一些CPU时间,每个线程在使用完时间片后
交出控制权,系统再将CPU时间片分配给下一个线程。由于每
个时间片足够短,这样就造成一种假象:好像这些线程在同时
运行。
(a) 从用户角度看多线程 (b) 从系统角度看多线程
Ø 应用多线程技术的目的就是尽可能地利用CPU时间。
Http://ccms.hust.edu.cn
4
3.1多线程技术
n 多处理器
多处理器是指在一台计算机中有两个以上的处理器,每个
处理器可以同时执行不同的线程。
Ø 在多处理器的作用下,多个线程可以同时执行,从而以
更少的时间完成更多的任务。
Http://ccms.hust.edu.cn
5
3.1多线程技术
n 线程调度
Ø 无论进程还是线程都是操作系统中进行CPU任务
调度的程序单元;
Ø CPU调度一个进程时必定发生一个进程上下文切
换;
Ø CPU调度一个进程内的多个线程时则可以避免上
下文切换的发生;
Ø 采用多线程可以减少因上下文切换导致的CPU时
间开销。
Http://ccms.hust.edu.cn
6
3.1多线程技术
n 在多进程操作系统中,当创建一个进程时系统同时就为进程创
建了一个主线程,由这个主线程生成额外的子线程,然后这些
线程又可以生成更多的子线程,所有的线程共同构成了一个进
程的线程集。
Http://ccms.hust.edu.cn
7
3.1多线程技术
n 线程优先级
Ø 线程被调度的先后顺序是依据线程的优先级来
完成的;
Ø 当一个线程被创建时,操作系统将分配给线程
一个优先级;
Ø 在调度周期的开始,系统从线程的就绪队列中
选择拥有最高优先级的线程来执行。
Http://ccms.hust.edu.cn
8