进程通信-管道

概述

进程间管道通信,同文件共享通信几乎完全一样(利用文件实现进程间共享数据

唯一核心不一样的地方:

int ret = mkfifo(kSharedFile.c_str(), 0600);

测试代码

#include <fstream>
#include <iostream>
#include <thread>
#include <vector>

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

std::string kSharedFile = "/tmp/test.fifo";

template<class T>
class Writer {
  private:
    std::ofstream out;
  public:
    Writer(std::string& name):
      out(name, std::ofstream::binary) {}

    void Write(const T& data) {
      out.write(reinterpret_cast<const char*>(&data), sizeof(T));
      out.flush();
    }
};

template<class T>
class Reader {
  private:
    std::ifstream in;
  publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉森教育

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值