![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
smartresister
这个作者很懒,什么都没留下…
展开
-
不加锁队列的应用
背景:在多线程环境下,不加锁,可以提高因锁引起的性能的降低,什么情况下可以不加锁,队列是如何的才能能不加锁1)约束条件只有一个线程读,只有一个线程写;2)队列约束a,队列至少的缓冲区的大小是2个;b,队列有专用的读写指针(如 head,tail 或者read,write)3)实现举例以read,write为例来说明static int bufmax=2;static int buf[bufmax];static int readidx=0; //指向可写的空间.原创 2021-04-13 21:59:28 · 207 阅读 · 0 评论 -
多线程 信号量的使用
1、在多线程中,信号量有点类似标志位,但它比标志位的优势在于,可以让其它线程有挂起的机会;1.1 使用资源的线程使用wait等待信号量(资源的就绪)挂起自己;1.2 创建资源的使用post的信号量,来标准资源就绪,从而可以让wait信号量的线程运行;2、在多个线程使用信号量时,通常涉及一个线程写,多个线程读,会出现资源竞争的问题,这个就需要mutex来保持访问资源的一致性。...原创 2020-08-09 21:32:05 · 435 阅读 · 0 评论