文件名称:引言/动机-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 19:46:42
python 核心编程 中文版 高清文字版
18.1 引言/动机 在多线程(MT)编程出现之前,电脑程序的运行由一个执行序列组成,执行序列按顺序在主机 的*处理器(CPU)中运行。无论是任务本身要求顺序执行还是整个程序是由多个子任务组成,程 序都是按这种方式执行的。即使子任务相互独立,互相无关(即,一个子任务的结果不影响其它子 任务的结果)时也是这样。这样是不是有点不合逻辑?会不会想要并行运行这些相互独立的子任务 呢?这样的并行处理可以大幅度地提升整个任务的效率。这就是多线程编程的目的。 多线程编程对于某些任务来说,是 理想的。这些任务具有以下特点:它们本质上就是异步的, 需要有多个并发事务,各个事务的运行顺序可以是不确定的,随机的,不可预测的。这样的编程任 务可以被分成多个执行流,每个流都有一个要完成的目标。根据应用的不同,这些子任务可能都要 计算出一个中间结果,用于合并得到 后的结果。 运算密集型的任务一般都比较容易分隔成多个子任务,可以顺序执行或以多线程的方式执行。 单线程处理多个外部输入源的的任务就不是那么容易了。这种编程任务如果不用多线程的方式处理, 则一定要使用一个或多个计时器来实现。 一个顺序执行的程序要从每个 I/O(输入/输出)终端信道检查用户的输入时,程序无论如何也不 能在读取 I/O 终端信道的时候阻塞。因为用户输入的到达是不确定的,阻塞会导致其它 I/O 信息的