12.并发编程
创始人
2024-05-30 20:46:22
0

1.并发

并发:逻辑流在时间时重叠
构造并发程序:
进程:每个逻辑控制流是一个进程,由内核调度和维护
进程有独立的虚拟地址空间,想要通信,控制流必须使用某种显式的进程间通信机制(IPC)
I/O多路复用:程序在一个进程的上下文显式地调度自己的逻辑流
逻辑流被模型化为状态机,数据到达文件描述符后,主程序显式地从一个状态转换到另一个状态
程序是一个单独的进程,所有的流共享同一个地址空间
线程:运行在单一进程上下文的逻辑流,由内核调度
像进程流一样由内核调度,像I/O多路复用一样共享同一个地址空间

2.基于进程

在父进程中接受客户端连接请求,创建新的子进程提供服务
共享文件表,但不共享用户地址空间

3.基于I/O多路复用

使用select函数,要求内核挂起进程,只有在I/O事件发生后,才将控制返回给程序
select处理描述符集合,看成一个大小为n的位向量
select函数会一直阻塞,直到读集合中至少有一个描述符准备好可以读
当且仅当一个从该描述符读取一个字节的请求不会阻塞时,描述符k就表示准备好可以读了
状态机就是一组状态、输入事件、转移
粒度:每个逻辑流每个时间片执行的指令数量
基于I/O多路复用的事件驱动程序:
每个逻辑流都能访问该进程的全部地址空间

4.基于线程(thread)

线程是运行在进程上下文的逻辑流
程序是由每个进程中一个线程组成的
每个线程都有自己独立的线程上下文,包括线程ID、栈、栈指针、PC、CC、通用目的寄存器值
每个线程和其他线程共享进程上下文的剩余部分,包括整个用户虚拟地址空间,由只读文本、读/写数据、堆、所有的共享库代码和数据区域组成
线程共享打开文件的集合
一个线程的上下文比进程的更小,切换更快
主线程和其他对等线程的区别仅在于它总是进程中第一个运行的线程
每个对等线程都能读写相同的共享数据
线程的代码和本地数据被封装在一个线程例程中
pthread_create函数创建线程
pthread_join函数会阻塞,直到线程终止
可结合的线程:能被其他线程回收和杀死,在被其他线程回收前,它的内存资源(栈)不释放
分离的线程:不能被其他线程回收和杀死,内存资源在它终止时由系统自动释放
寄存器从不共享,虚拟内存总是共享
若一个线程得到了一个指向其他线程的栈的指针,则它可以读写这个栈的任何部分
变量是共享的,当且仅当它的一个实例被一个以上的线程引用

5.用信号量同步线程

共享变量引入了同步错误的可能性

互斥:临界区不应该与其他进程的临界区交替执行
信号量s是非负整数的全局变量,初始化为1,只能由两种操作处理
P(s)测试:若s非0则减1,若s为0则挂起
V(s)增加:s加1
以提供互斥为目的的二元信号量称为互斥锁,P为加锁,V为解锁
生产者-消费者问题:
插入和取出项目都涉及更新共享变量,必须保证对缓冲区的访问互斥和调度
缓冲区:减少抖动
读者-写者问题:
写者必须有对对象独占的访问,读者可以和无限多个读者共享对象
饥饿:一个线程无限期阻塞,无法进展
基于预线程化的并发服务器

6.竞争、死锁

竞争:一个程序的正确性依赖于一个线程要在另一个线程到达y点之前,到达它的控制流中的x点
程序员假定线程将按照某种特殊的轨迹线穿过执行空间,而忘记:多线程的程序必须对任何可行的轨迹线都正确工作
死锁:一组进程被阻塞了, 等待一个永远不会为真的条件

相关内容

热门资讯

小学校长开学工作安排布置讲话... 小学校长开学工作安排布置讲话稿(通用13篇)  在现在的社会生活中,我们可以使用讲话稿的机会越来越多...
高考动员大会校长发言稿 高考动员大会校长发言稿范文(精选4篇)  在快速变化和不断变革的新时代,用到发言稿的地方越来越多,发...
《吆喝》说课材料的内容 《吆喝》说课材料的内容  设计理念:  如今的中学生对于旧式的“吆喝”是相当陌生的,这就为教学带来了...
无偿献血的通讯稿 无偿献血的通讯稿  篇一:无偿献血活动通讯稿  殷色传希望,测绘递爱心  ——测绘系学子踊跃参加献血...
中职毕业生发言稿 中职毕业生发言稿(通用10篇)  现如今,我们总不得不需要用到发言稿,发言稿具有逻辑严密,态度明确,...
三年级《美丽的小兴安岭》说课... 三年级《美丽的小兴安岭》说课稿  《美丽的小兴安岭》是一篇优美的写景散文,在文中作者运用了大量的比喻...
《海洋怪兽》说课稿 《海洋怪兽》说课稿  我说课的内容是江苏版九年义务教育六年制小学美术教科书第十册第八单元第15课《海...
最新小学运动会通讯稿50字   虽然你们在场上的时间很短暂,但你们的身影依然停留在人们的脑海里,因为你们是赛场上最可爱的人,所有...
汽车4S店年会领导致辞稿 欢迎来到大学网,下面是小编为大家为大家搜集整理的《汽车4S店年会领导致辞稿》,欢迎大家阅读与借鉴,希...
《平均数》说课稿 《平均数》说课稿(精选3篇)  作为一位不辞辛劳的人民教师,时常需要编写说课稿,认真拟定说课稿,写说...
《我为你骄傲》说课材料 《我为你骄傲》说课材料  我说课的内容是人教版课程标准实验教科书语文二年级下册第22课《我为你骄傲》...
交通安全国旗下讲话稿 交通安全主题国旗下讲话稿范文(通用3篇)  在当今社会生活中,我们很多时候都不得不用到讲话稿,讲话稿...
小学一年级下册《认图形》说课... 小学一年级下册《认图形》说课稿3篇  引导语:作为一名教学工作者,时常会需要准备好说课稿,说课稿有利...
培训讲话稿 培训讲话稿(精选5篇)  在生活中,我们越来越需要讲话稿,讲话稿是应用写作研究的重要文体之一。你写讲...
小学教师节教师发言稿 小学教师节教师发言稿  教师节里,各位老师有怎样的话想要分享出来的呢?小学教师节教师发言稿以下是小编...
热爱祖国的诗歌朗诵稿 热爱祖国的诗歌朗诵稿  热爱祖国的诗歌朗诵稿一:  在轩辕帝的坟头  挥汗如雨  挖掘你  在阿房宫...
优秀学生代表发言稿 优秀学生代表发言稿范文(精选14篇)  在发展不断提速的社会中,接触并使用发言稿的人越来越多,发言稿...
函数的周期性说课稿 函数的周期性说课稿  作为一名教师,通常需要准备好一份说课稿,说课稿是进行说课准备的文稿,有着至关重...
《与诚信为友》说课稿 《与诚信为友》说课稿  尊敬的老师:  大家好!今天我说课的内容是四年级品德与社会下册第一单元“诚信...
高中数学必修五《正弦定理》说... 高中数学必修五《正弦定理》说课稿  一、教材地位与作用  本节知识是必修五第一章《解三角形》的第一节...