面试真题

操作系统 · 中等 · 阿里巴巴

对于信号量、volatile 有没有理解?

中等 操作系统 🎤 阿里巴巴
参考答案
结论:信号量是用于并发控制的同步原语,volatile保证变量内存可见性但不保证原子性。核心要点:1. 信号量:维护计数器,P操作减1若负则阻塞,V操作加1唤醒等待者,可控制并发访问资源数(如限流);2. volatile:告诉编译器不缓存该变量到寄存器,每次读写主存,禁止指令重排序,解决多线程可见性问题;3. 对比:信号量可阻塞线程、管理资源池,volatile仅确保看到最新值,不保证i++等复合操作原子性;示例:用volatile布尔标志控制线程退出,用信号量限制同时运行线程数为10。
题目整理自公开面经,答案由校招宝自研生成,仅供参考