1 同步

我只是一个虾纸丫 提交于 2020-01-19 02:20:01

参考https://blog.csdn.net/booksyhay/article/details/82696779

通过初始化为0值的信号量,同步两个线程;

1、信号量初始化

osSemaphoreId_t sem;
sem = osSemaphoreNew(1, 0, NULL);

2、线程1

printf("thread 1\r\n");
osSemaphoreRelease(sem);

3、线程2

osSemaphoreAcquire(sem, osWaitForever);
printf("thread 2\r\n");

4、结论

通过0值信号量,同步线程1与线程2,不论调度器是先执行线程1,还是先执行线程2,都是先输出"thread 1";
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!