协作进程


协作进程是指可以影响或被系统上运行的其他进程影响的进程。协作进程可以彼此共享数据。

需要协作进程的原因

需要协作进程可能有很多原因。其中一些如下所示:

  • 模块化

    模块化涉及将复杂的任务分解成较小的子任务。这些子任务可以由不同的协作进程完成。这导致更快、更有效地完成所需的任务。

  • 信息共享

    多个进程之间可以利用协作进程共享信息。这可能包括访问相同的文件。需要一种机制,以便进程可以彼此并行访问文件。

  • 便利性

    用户需要执行许多任务,例如编译、打印、编辑等。如果这些任务可以由协作进程管理,则会很方便。

  • 计算加速

    单个任务的子任务可以使用协作进程并行执行。这会提高计算速度,因为任务可以更快地执行。但是,这只有在系统具有多个处理单元时才有可能。

合作方法

协作进程可以使用共享数据或消息相互协调。这些内容的详细信息如下:

  • 通过共享进行合作

    协作进程可以使用共享数据(例如内存、变量、文件、数据库等)相互协作。临界区用于提供数据完整性,写入是互斥的,以防止数据不一致。

    演示通过共享进行合作的图表如下:

    Cooperating Processes

    在上图中,进程 P1 和 P2 可以使用共享数据(例如内存、变量、文件、数据库等)相互协作。

  • 通过通信进行合作

    协作进程可以使用消息相互协作。如果每个进程都在等待来自另一个进程的消息以执行操作,则这可能导致死锁。如果一个进程永远不会收到消息,也可能发生饥饿。

    演示通过通信进行合作的图表如下:

    Cooperating communication in Processes

在上图中,进程 P1 和 P2 可以使用消息相互通信以进行协作。

更新于:2020年6月24日

8K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始
广告