- 0
- 0
- 约7.25千字
- 约 44页
- 2019-10-25 发布于安徽
- 举报
* 具有信号量的互斥 Shared data: semaphore mutex; //initially mutex = 1 Process Pi: do { wait(mutex); critical section signal(mutex); remainder section} while (1); * 条件变量 如果要等待某个条件成立(比如xy),当其他线程改变了共享变量的值时,线程应当重新测试该条件 改变共享变量值的线程,给阻塞在条件变量上的线程发信号,唤醒该线程。典型的条件变量cond来测试x=y的方法如下(mut为互斥量): 1 pthread_mutex_lock(mut); 2 while(x=y){ 3 pthread_cond_wait(cond, mut); 4 } 5 pthread_mutex_unlock(mut); * 锁的粒度和死锁 锁的粒度 锁的粒度是上锁后保护的共享数据的多少 减小锁的粒度可以提高对共享数据访问的并行性 死锁 两个线程分别拥有锁,并等待对方的锁 死锁避免 线程以相同的次序进行加锁 非阻塞的加锁操作 饿死 饥饿 – 无限期地阻塞 进程可能永远无法从它等待的信号量队列中移去 当等待时间给进程推进和响应带来明显影响 当饥饿到一定程
您可能关注的文档
最近下载
- RCS-9681C 变压器后备保护测控装置技术和使用说明书.docx VIP
- 《石油石化企业 陆上油气田井站碳排放水平分级评价指南》.pdf VIP
- 道教三字经.pdf VIP
- 施工现场易燃易爆物品安全管理制度.docx VIP
- ZTSJ-钢拱桥009-2024_拱桥斜拉扣挂法吊装施工工法.docx VIP
- 设备安装质量培训.pdf VIP
- 部编高教版2023中职哲学与人生第10课人类社会及其发展规律课件.pptx VIP
- [产业运营]产业园区产业地产规划、招商、运营实战.pdf VIP
- 2025人工智能治理年度报告:迈向“可衡量”的AI治理.pdf VIP
- 15D202-4建筑一体化光伏系统 电气设计与施工(OCR).pdf VIP
原创力文档

文档评论(0)