logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[linux仓库]线程同步与生产者消费者模型[线程·陆]

文章通过图书馆钥匙管理的生动比喻,揭示了线程饥饿问题的成因,并详细讲解了pthread_cond_wait函数的两个关键特性:自动释放锁和重新竞争锁。在生产者消费者模型部分,作者提出了"321"原则(3种关系、2种角色、1个交易场所),并强调使用两个独立条件变量的必要性。通过阻塞队列的代码实现,展示了如何正确处理伪唤醒问题(使用while循环而非if判断)。最后,文章指出生产消费模型的高效性体现在

文章图片
#开发语言#linux#c语言
[linux仓库]多线程数据竞争?一文搞定互斥锁与原子操作[线程·伍]

本文深入探讨了Linux线程互斥机制及其底层实现原理。通过抢票Demo案例,分析了共享资源访问导致的数据不一致问题,提出临界资源与临界区的概念,解释了互斥锁如何通过原子性操作解决并发问题。文章详细介绍了互斥锁的初始化、加锁和解锁操作,阐述了RAII设计模式在锁封装中的应用,并对比了C++11原生mutex与pthread库的实现差异。最后,通过汇编层面分析++/--操作的非原子性,揭示了互斥锁的底

文章图片
#linux
到底了