进程同步

敲打进程关系:互斥、同步、资源

敲打进程同步:

重点:信号量机制

信号量机制 : 整型信号量(PV操作[p(wait),v(signal)])、记录型信号量(阻塞和唤醒)、AND信号量(swait(p1,p2,...pn),ssignal(p1,p2,p3,...pn))、信号量集(S,T,D)<T:为下限;D:资源需求量>;

敲打进程应用:

微笑程序组成

  信号量,初始化

         p

          {   进入区

               临界区

               退出区}

微笑分析进程题的步骤:(独家分享)

 1.分析进程个数

 2.活动(动词,主要是进程都在干什么)

 3.进程关系:互斥、同步、资源

   互斥:强调进程与进程之间互斥执行(通常会用到互斥变量mutex),但是对进程的先后顺序并没有严格要求;(值得强调的是共享变量也要互斥使用)

             形式:在进入区处加wait(mutex);在退出区处加signal(mutex);

 struct stemaphore s;
s.value=1;//注意初始化值为1
A{
    进入区
    wait(s);
    临界区
    signal(s);
    退出区

B{
    进入区
    wait(s);//执行-1,判断是否小于0 
    临界区 

    signal(s);

    退出区

   同步:强调进程与进程之间互斥执行,但是对进程的先后顺序有严格要求,必须是A执行完后B才可以执行;

             形式:先执行的进程临界区后面加signal(mutex),后执行临界区前加wait(mutex);

struct stemaphore s;
s.value=0;//注意初始化值为0
A{
    进入区
    临界区
    signal(s);//执行+1,并判断是否小于等于0 
    退出区

B{
   进入区
    wait(s);//执行-1,判断是否小于0 
    临界区
    退出区

     资源:针对的是多个进程使用有限资源问题

大笑经典进程的同步问题:生产者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值