随笔分类 -  多线程

摘要:原理 1、使用智能指针管理共享资源 2、write端,若引用计数为1,则write端独占资源,若引用计数不为1,则对共享资源备份进行写操作,以确保线程安全 3、read端,读之前引用计数加1,write端此时若并发访问共享资源,则会发现引用计数不为1,write端不会直接写共享资源,确保线程安全 代 阅读全文
posted @ 2023-12-25 17:10 HOracle 阅读(93) 评论(0) 推荐(0) 编辑
摘要:一、自旋锁 1、概述 自旋锁(Spin Lock)类似于互斥量,不过自旋锁不是通过休眠阻塞线程(进程),而是在取得锁之前一直处于循环等待的阻塞状态,因此得名“自旋”。自旋锁常作为底层原语实现其他类型的锁。 2、适用场景 1)锁被持有的时间短,而且线程不希望在重新调度上花费太多成本; 2)在非抢占式内 阅读全文
posted @ 2023-02-02 17:42 HOracle 阅读(176) 评论(0) 推荐(0) 编辑
摘要:一、线程操作 1、创建线程 /** * 参数 * tidp: 指向线程标识符的指针 * attr: 线程属性 * start_rtn: 回调函数 * arg: 运行回调函数所需参数 * * 返回值 * 创建成功返回 0, 否则返回错误码 */ int pthread_create(pthread_t 阅读全文
posted @ 2022-08-12 16:04 HOracle 阅读(633) 评论(0) 推荐(0) 编辑
摘要:一、什么是生产者-消费者模型 1、简单理解生产者-消费者模型 假设有两个进程(或线程)A、B和一个固定大小的缓冲区,A进程生产数据放入缓冲区,B进程从缓冲区中取出数据进行计算,这就是一个简单的生产者-消费者模型。这里的A进程相当于生产者,B进程相当于消费者。 2、为什么要使用生产者-消费者模型 在多 阅读全文
posted @ 2021-10-19 17:50 HOracle 阅读(14049) 评论(4) 推荐(6) 编辑

点击右上角即可分享
微信分享提示