对于线程同步:互斥量、信号量、读写锁、条件变量。(1)互斥量:mutex值只能取0或1,加锁lock(减1),解锁unlock(加1),对于临界区先加锁后解锁,相当于一个时刻只有一个线程能访问临界区。(2)信号量:是互斥量的加强版,资源个数n可以预设,加锁(sem_wait),解锁(sem_post),区别:信号量某一时刻最多n个线程访问临界区。(3)条件变量:目的是为了防止恶意竞争,与互斥量一起使用,互斥量失败后会一直尝试,与其这样,还不如让它去睡觉,当临界区可用才唤醒它(pthread_cond_signal)。(4)读写锁:写锁(pthread_rwlock_wrlock)权限高于读锁,有人在写,其他读和写全部阻塞;允许多个读(pthread_rwlock_rdlock),应用在读线程多的场景
点赞

相关推荐

2025-12-06 14:43
重庆邮电大学 Web前端
仰卧起坐的螃蟹:把内容都放在一页,然后排版紧凑些,像个人优势改为技能,不要写这么多行,一行可以写长点。
点赞 评论 收藏
分享
01-04 21:30
已编辑
河南工业大学 Java
27届学院本誓死冲击...:下次再发把个人信息隐藏掉,以防有心之人。相关课程删了,荣誉奖项只留蓝桥杯,把蓝桥杯写到教育经历里,按教育经历、实习经历、项目经历、专业技能这个顺序排版
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务