同步与互斥
文章平均质量分 67
吴凯你在想啥呢
如果你站在童年的位罝瞻望未来,你会说你前途未卜,你会说你前途无量;但要是你站在终点看你生命的轨迹,你看到的只有一条路,你就只能看到一条命定之路。
不知道命运是什么,才知道什么是命运。
人生唯一能确定的就是不确定的人生,所以大胆去做想做的任何事,活在当下,抓住周围一切的美好!知道什么是命运。
展开
-
模拟信号量对buffer读写
1.demo2.c主要解决内存满了问题和读写速度不一致问题即读的比写的快。#include <stdio.h>#include <pthread.h>#include <string.h>#include "demo2.h"#define MAX_BUFFER_NUM 5#define MAX_DATA_LENGTH 1024 /* 设置句柄类 */typedef struct { char abyBuf[MAX_D原创 2022-03-02 15:49:08 · 372 阅读 · 0 评论 -
条件变量和信号量
1.pthread./pthread &显示进程号ps 查看进程号ps -T 查看线程号也可以进入进程的proc目录查看线程#include <pthread.h>#include <stdio.h>#include <unistd.h>#include <semaphore.h>static char g_buf[1000];static sem_t g_sem;static void *my_thread_func原创 2022-02-24 22:29:36 · 395 阅读 · 0 评论 -
同步与互斥信号量
同步与互斥1.在引入信号量之前回顾原子变量和自旋锁,所谓“原子操作”就是这个操作不会被打断。Linux有2种原子操作:原子变量、原子位。都是用汇编语言实现的。它的优点是使用简单,但缺点是功能单一,只能做计数操作,变量的计数也行,保护的东西太少。在Linux中,原子变量的定义如下:typedef struct{ volatile int counter; }atomic_t;定义并初始化atomic_t变量atomic_t counter = ATOMIC_INIT(0); //定义并初始化原子变量原创 2021-12-02 16:06:52 · 904 阅读 · 0 评论