![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linuxC
文章平均质量分 67
是阿翔啊
C++程序员一枚
展开
-
Linux内核中常用的C语言技巧
1.语句表达式例如常用的宏定义#define max(a,b) ((a)>(b)?(a):(b))相信上面的代码大家都用到过吧,但是上述代码会引发安全问题,a和b的值会被计算两次,比如就是a传入i++,b传入j++的时候。例如下面的代码:#include<iostream>#define max(a,b) ( (a) >(b) ? (a) : (b) )using namespace std;int main(){ int i = 0, j = 0; cout原创 2021-06-06 16:35:29 · 369 阅读 · 0 评论 -
生产者与消费者模型的实现
生产者与消费者模型的实现当我们学习完了信号量和共享内存之后,我们就可以实现进程间的同步和互斥了。然后其中最经典的例子就是生产消费者模型了。现在就和大家一起分析下生产消费者模型以下代码是一个多个生产者和多个消费者对N个缓冲区进行访问的例子。首先先看看我们的伪代码//生产者:while (1){ p(semid, 1); sleep(3); p(semid, 0); //producer is producing a product goods = rand() % 10;//produc原创 2021-04-13 21:26:14 · 329 阅读 · 0 评论