Day 13 同步、多个任务或者回圈存取同步

本篇我们继续讨论号志的存取同步的形式。

假设如果有两个任务同步执行,此时该如何同步处理这类状况呢?遇到这种状况,号志就要给予互斥的号志,也就是Day 10 号志作用里面所提到的互斥号志的方式来处理,例如说两个任务A与B,如果B的优先权高於A,但是A又先到的,不得不让A去执行,但此时B又有优先权,所以最好的方式,就是透过互斥的号志,先把A给锁住,让B先执行,等到B完成结束後,在开锁让A把未完成的任务完成。

有两个任务同步执行,就有可能出现多个任务同时执行,如果多个很容易就出现抢占资源的情况出现,并且也有可能会出现多个优先权的问题产生,所以此时就得靠号志来控管了,在这种状况下,最好就是给予每个任务各自的号志,也就是给予每个任务一个各自的互斥号志,藉由互斥号志的开关方式,让任务能够在任务执行时,由号志来控管开关。

其实不管是两个或多个任务,甚至於回圈的状况下,其实都可以直接给互斥号志来解决这类问题,但是会不会有时还是会由冲突存在,理论上是不可能在出现冲突,就像多辆莒光号到达竹南站,出发时间如果相同,正常在站台管制人员还是会停止其中一辆,等待另一辆车先行之後,停止的莒光号在跟着行驶,所以有这类的号志在控管的情况,後续的流程就会很顺利的被执行。


<<:  DAY12:Fragment(片段之简介)

>>:  从零开始学3D游戏设计:基础粒子效果

设定档格式INI + Service的管理工具Systemd简介

INI INI, 全名是Initialization File 早期用来当设定档用的一种文件格式. ...

关於code signing [程序码签章] 这档事 ...

所谓的程序码签章,就是一个指一个数位的签章,在编译好的软件上签章。软件一旦被重新编译、修改,上面的签...

30天零负担轻松学会制作APP介面及设计【DAY 16】

大家好,我是YIYI,今天我要来制作到目前为止所有页面放入MARVEL APP做DEMO。 进入MA...

Logo 语言和你 SAY HELLO!!

第二十六天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,...

故事的例子

先说明:今天加班到现在,所以先写一点点,後续再补上。 前天的文章有一位读者提问: 如果将团队在组织中...