我想问一下,就是我有很多变量会多线程读写操作,有一些会比较频繁,我读写的时候是使用中断去保护还是增加互斥量去保护。
1.如果加互斥量,当前低优先级读写线程在获取到互斥量进行读写的时候,高优先级线程会打断当前线程去获取同一个互斥量,由于锁被占,高优先级挂起,低优先级继续执行,释放互斥锁后高优先级执行。这样会有多两次线程切换开销。
2.如果在读写的时候进入中断临界,低优先级读写完后退出中断,然后切换到高优先级进行读写。
所以我想问问大家在遇到很多变量多个线程读写的情况下怎么进行保护的?或者有没有其他更好方案? |