代码之家  ›  专栏  ›  技术社区  ›  philfreo

两个并发线程或进程如何通信?[关闭]

  •  4
  • philfreo  · 技术社区  · 15 年前

    一般来说,进程间和线程间通信是如何工作的?

    2 回复  |  直到 15 年前
        1
  •  6
  •   SingleNegationElimination    15 年前

    大体上,有两种基本机制。

    另一种机制是通道,它就像两个进程之间的管道。在这种情况下,一个进程将一些数据放入管道中,而另一个进程将其取出。这种机制具有破坏性,一旦被消耗,数据就会从管道中丢失,因此接收过程最好对其进行处理。

    从理论上看,它们都是等价的。大多数操作系统提供所有这些机制。

    但是并发进程不需要通信。在“无共享”模型中,一个主任务准备多个工作任务。工作任务在没有额外输入的情况下执行计算。当所有的工人都完成后,主任务可以产生结果。这是很有吸引力的,因为IPC具有性能成本(同步),而且没有共享完全避开同步。

        2
  •  2
  •   kartheek    15 年前

    进程间:进程间-板上,系统5 IPC。具体来说,它将包括管道、信号量、共享内存、套接字、信号。通常,这些服务是由操作系统内核提供的

    线程间:同一进程的线程之间的通信。您将使用线程同步原语-它可以由操作系统提供,它也可以在用户空间线程库中实现。