1 / 38
文档名称:

《线程管理》PPT课件.ppt

格式:ppt   大小:108KB   页数:38
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《线程管理》PPT课件.ppt

上传人:相惜 2020/11/26 文件大小:108 KB

下载得到文件列表

《线程管理》PPT课件.ppt

相关文档

文档介绍

文档介绍:多线程编程
1
管理课件
线程概述
线程的基本操作
线程同步互斥
2
管理课件
每个进程都拥有自己的数据段、代码段和堆栈段,这就造成进程在进行创建、切换、撤销操作时,需要较大的系统开销。
为了减少系统开销,从进程中演化出了线程。
线程存在于进程中,共享进程的资源。
线程是进程中的独立控制流,由环境(包括寄存器组和程序计数器)和一系列的执行指令组成。
3
管理课件
线程的概念
每个进程有一个地址空间和一个控制线程。
4
管理课件
线程和进程的比较
调度
线程是CPU调度和分派的基本单位。
拥有资源:
进程是系统中程序执行和资源分配的基本单位。
线程自己一般不拥有资源(除了必不可少的程序计数器,一组寄存器和栈),但它可以去访问其所属进程的资源,如进程代码段,数据段以及系统资源(已打开的文件,I/O设备等)。
5
管理课件
系统开销
同一个进程中的多个线程可共享同一地址空间,因此它们之间的同步和通信的实现也变得比较容易。
在进程切换时候,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置;而线程切换只需要保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作,从而能更有效地使用系统资源和提高系统的吞吐量。
并发性
不仅进程间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。
6
管理课件
使用多线程的目的主要有以下几点:
多任务程序的设计
一个程序可能要处理不同应用,要处理多种任务,如果开发不同的进程来处理,系统开销很大,数据共享,程序结构都不方便,这时可使用多线程编程方法。
并发程序设计
一个任务可能分成不同的步骤去完成,这些不同的步骤之间可能是松散耦合,可能通过线程的互斥,同步并发完成。这样可以为不同的任务步骤建立线程。
7
管理课件
网络程序设计
为提高网络的利用效率,我们可能使用多线程,对每个连接用一个线程去处理。
数据共享
同一个进程中的不同线程共享进程的数据空间,方便不同线程间的数据共享。
在多CPU系统中,实现真正的并行。
8
管理课件
线程的基本操作
就像每个进程都有一个进程号一样,每个线程也有一个线程号。
进程号在整个系统中是唯一的,但线程号不同,线程号只在它所属的进程环境中有效。
进程号用pid_t数据类型表示,是一个非负整数。线程号则用pthread_t数据类型来表示。
有的系统在实现pthread_t的时候,用一个结构体来表示,所以在可移植的操作系统实现不能把它做为整数处理。
9
管理课件
#include <>
int pthread_create(pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)(void *),
void *arg);
功能:
创建一个线程。
10
管理课件