Processes can cooperate with each other to accomplish a single task. Cooperating processes can:

  • Improve performance by overlapping activities or performing work in parallel.
  • Enable an application to achieve a better program structure as a set of cooperating processes, where each is smaller than a single monolithic program.
  • Easily share information