Messages

messages barrier

适用于分布式系统


Message

消息机制是利用 原子的消息传递 解决进程间通信和同步问题的机制。

两个原语:

  • send(destination, &message);
  • receive(source, &message);

相应会有的问题:

  • 信息和动作的丢失
  • 消息的顺序
  • 命名
  • 消息的真实性和可靠性

使用message解决生产者消费者问题

#define N 100
void producer(void){
    int item;
    message m;

    while(TRUE) {
        item = produce_item();
        receive(consumer, &m);
        build_message(&m, item);
        send(consumer, &m);
    }
}

void consumer(void){
    int item, i;
    message m;
    for(i = 0; i < N; i++) send(producer, &m);
    while(TRUE) {
        receive(producer, &m);
        item = extract_item(&m);
        send(producer, &m);
        consume_item(item);
    }
}

Barrier机制

Paste_Image.png

barrier机制是为了实现如上图所示,所有进程到达barrier才能继续进行的机制。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 原文: Writing good commit messages Good commit messages ser...
    独木舟的木阅读 327评论 0 0
  • B17 文档视图 单击树状图上的“Document / Exasmoc”,将显示Exasmoc说明书。 当您阅读文...
    橡果阅读 330评论 0 0
  • 你说,人活着有什么意义?很多时候,我觉得活着真没意思,每天忙工作赚钱,赚了钱主要为的吃饱穿暖。然后呢,不是工作上甲...
    阿欢_心悦阅读 808评论 2 4
  • 书名:招聘面试新法 进度:第二部分 人生目标和事业心的探测方法 通过候选人的关注点来判断 兴趣爱好 例如:当下流行...
    V熊阅读 375评论 0 0