线程同步与进程同步

时间:2011-01-07 07:19:44

标签: multithreading process synchronization

  1. 我们可以为线程同步和进程同步使用相同的同步机制
  2. 只有在流程中可用的同步机制是什么

4 个答案:

答案 0 :(得分:3)

信号量通常是用于共享内存访问等多进程同步的信号。

关键部分,互斥体和条件是进程中线程同步的更常用工具。

一般来说,用于同步线程的方法不用于同步进程,但反过来通常不正确。事实上,使用信号量进行线程同步是相当常见的。

答案 1 :(得分:2)

有几个同步实体。它们有不同的目的和范围。不同语言和操作系统以不同方式实现它们在Windows上,例如,您可以使用监视器来同步进程中的线程,或使用mutex进行同步进程。有信号量,事件,障碍......这一切都取决于具体情况。 .NET提供了所谓的slim版本,它们具有改进的性能,但仅针对进程内同步。

但要记住一件事。同步过程需要系统资源,分配和操作(锁定和释放)需要相当长的时间。

答案 2 :(得分:1)

  

应用程序由一个或多个组成   流程。一个进程,最简单的   术语,是一个执行程序。一个或   更多线程在上下文中运行   处理。 线程是基本单位   操作系统分配的   处理器时间。线程可以执行   流程代码的任何部分,   包括目前的部分   由另一个线程执行。

Ref

关于特定的同步结构,这取决于OS / Environment / language

答案 3 :(得分:0)

一个区别:进程中的线程可以平等访问进程的内存。内存通常是进程私有的,但可以明确共享。