4.关键字volatile?
- volatile 可以保证对特殊地址的稳定访问(变量地址),
- 到地址去读取
- 告诉编译器不要优化
- 用处 :中断服务程序中修改的变量;全局变量;多任务环境下各任务间共享的标志。
5,关键字inline?
- inline 是C++引入的关键字
- inline 只适合涵数体内代码简单的涵数使用(switch while for)
- inline 是一种"用于实现的关键字"
- 内联是以代码膨胀(复制)为代价
- 如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的开销大,( 不能有switch while )
- inline 只适合涵数体内代码简单的涵数使用
6.信号量,互斥量的区别?
信号量可以存储多个值012345,非负整数;
- 信号量例子
比如一个教室,里面10个座位,那么信号量就是10,进去了10个人(10个任务获取了10次信号量),信号量变成0,这个时候要进去(获取)就进不去了,需要等待(或试图等待),当有人从教室出来(释放信号量),信号量+1,等待的人(任务)就可以进去(获取)了。
互斥量只能存在1和0;