首页 > 编程知识 正文

临界区在哪里,临界区有什么问题

时间:2023-05-04 16:40:44 阅读:150230 作者:3722

为了提高系统的并发性引入了进程和线程,线程的引入引起了资源的共享使用和竞争,利用同步解决了这个问题,同步机制具有锁

概念一次只能运行一个线程的临界区域代码

访问共享资源相关问题

排他、死锁、饥饿(用处理器调度算法解决) )。

临界区(为了解决同步问题,买面包的问题) )。

必须互斥运行才能在进程中访问共享资源的代码

干净短靴区别于临界区域,干净短靴中的线程可以暂时放弃干净短靴的独占访问,等待事件发生时恢复

确保数据一致性,确保合作进程有序运行的机制。

操作系统通过利用硬件原语构建锁,实现对临界区的访问

原子操作指令如下。

测试和设置命令

exchange命令

信号量

p ) )原子操作

v ) )原子操作

信号量的难点(例如生产者和消费者问题) )。

改变顺序会有影响。 发生死锁

平滑短靴允许在临界区域访问失败时,临时释放资源,让其他线程先执行。 它就像是作为线程内部操作系统的机制。

顺畅的短靴简化了应对同步问题的方法

在上图中锁的右侧添加条件变量,然后单击、

同步机制

进入区域

临界区

退出区

三种同步方法

1禁用硬件中断(消耗资源) )

2基于软件的同步方法(线程通过共享共享变量来同步操作) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。