mmxingye

导航

2022年4月20日 #

18 | 应用可变模板和tuple的编译期技巧

摘要: 今天我们讲一个特殊的专题,如何使用可变模板和 tuple 来完成一些常见的功能,尤其是编译期计算。 可变模板 可变模板 是 C++11 引入的一项新功能,使我们可以在模板参数里表达不定个数和类型的参数。从实际的角度,它有两个明显的用途: 用于在通用工具模板中转发参数到另外一个函数 用于在递归的模板中 阅读全文

posted @ 2022-04-20 23:02 独立树 阅读(199) 评论(0) 推荐(0) 编辑

04 | linux进程通信(消息队列)

摘要: 概述 1.消息队列与命名管道有许多相似之处,但少了在打开和关闭管道方面的复杂性。但使用消息队列并未解决我们在使用命名管道时遇到的一些问题,比如管道满时的阻塞问题 2.消息队列提供了一种在两个不相关的进程之间传递数据的相当简单且有效的方法。与命名管道相比,消息队列的优势在于,它独立于发送和接受进程而存 阅读全文

posted @ 2022-04-20 16:41 独立树 阅读(90) 评论(0) 推荐(0) 编辑

03 | linux下进程通信(共享内存)

摘要: 接下来我们介绍一种简单而高效的进程间通信的方式! 共享内存 注意了是通信也就是数据交换,如果要想避免同时读写发生的同步问题就得需要其他机制! 在实际编程中,常用的同步机制有 信号量、传递消息(使用管道或IPC消息)、生成信号。 但是在这次的实现里面我们用自己提供的非常丑陋的同步标志written_b 阅读全文

posted @ 2022-04-20 15:35 独立树 阅读(55) 评论(0) 推荐(0) 编辑

02 | linux下进程同步(信号量实现)

摘要: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/sem.h> /*程序目的: 1、完成两个进程的同步 2、每个进程进入临界区后输出一对字符 3、主进程输出‘X',其余进程输出'O' 4、主进程负责创建和 阅读全文

posted @ 2022-04-20 11:21 独立树 阅读(345) 评论(0) 推荐(0) 编辑