如果你无操作系统还要进行多(子)任务执行,就需要用到全局变量来标识相应的资源,这就可以作为一种互斥锁。
比如A任务先运行,需要用到资源时先检测对应全局变量是否还是初始状态(比如为0),则先修改该变量为1,然后使用资源,在使用完成后恢复变量值为0,即表明已经释放了资源使用权限。
B任务要运行时使用该资源时也要先检测该变量,如果变量不为0,则任务暂停或者先做其他处理等待该变量变成0后再运行涉及资源的部分。同样开始运行时先置变量为1,使用完后恢复为0.
这就是一种互斥锁的原型。