![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统编程
qq_910076521
这个作者很懒,什么都没留下…
展开
-
pthread_cond_broadcast产生的惊群效应和pthread_cond_signal比较
#include <iostream>#include <stdio.h>#include <queue>#include <unistd.h>#include <pthread.h>#include <stdlib.h>using namespace std;queue<int> res;pt...原创 2020-03-27 19:56:45 · 821 阅读 · 0 评论 -
对pthread_cond_wait的理解
函数原型int pthread_cond_wait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex);pthread_cond_wait:调用其函数有三个步骤1、对其传入的mutex进行解锁2、等待pthread_cond_signal的唤醒(阻塞在这里)3、唤醒后重新对其进行加锁pthr...原创 2020-03-26 20:22:29 · 441 阅读 · 0 评论 -
线程-互斥锁
线程为什么要同步1 共享资源,多个线程都可对共享资源操作2 线程操作共享资源的先后顺序不确定3 处理器对存储的操作一般不是操作临界区保证在某一时刻只有一个线程能访问数据的简便方法,在任意时刻只允许一个线程对共享资源进行访问,如果又多个线程试图同时访问临界区,那么在又一个线程进入后,其他所有试图访问因此临界区的线程将被挂起,并一直持续到进入临界区的线程离开,临界区在被释放后,某其他线程可以继续抢占,...原创 2018-04-22 16:55:29 · 130 阅读 · 0 评论 -
线程-条件变量(实现生产者和消费者问题)
条件变量不是锁,但是条件变量能够阻塞线程通常和互斥量一起使用:互斥量用来保护一段共享数据,而条件变量用来引起阻塞条件变量的俩个动作:当条件不满足时,阻塞线程当条件满足,通知阻塞的线程开始工作主要函数 条件变量的类型:Pthread_cond_t cond;初始化一个条件变量--condtionPthread_cond_init( Pthread_cond_t*restrict co...原创 2018-04-23 10:07:13 · 652 阅读 · 0 评论 -
线程--读写锁
多个线程同时访问共享数据时可能会发生冲突,比如俩个线程都要把某个全局变量加1,这个操作在某平台需要三条指令完成:1 从内存读变量值到寄存器2 寄存器的值加13 将寄存器的值写到内存 但是俩个线程同在多处理器平台下执行这三条指令,可能会出先变量只加了一次而非俩次,详细说明在APUE第三版 319页首先读写锁为一把锁,类型为pthread_rwlowk_lock;类型:读锁为对内存进行读操作,写锁对内...原创 2018-04-20 23:19:36 · 169 阅读 · 0 评论 -
链表
leetcode2 两数相加原创 2018-12-13 17:39:12 · 127 阅读 · 0 评论