同步 (计算机科学)

编辑
本词条由“匿名用户” 建档。
在计算机科学中,同步指的是两个不同但相关的概念之一:进程同步和数据同步。 进程同步指的是多个进程在某个点联合起来或握手,以达成协议或承诺执行特定的操作顺序。 数据同步是指保持数据集的多个副本彼此一致,或保持数据完整性的想法。 进程同步原语通常用于实现数据同步。 同步的需要不仅仅出现在多处理器系统中,而且出现在任何类型的并发进程中; 即使在单处理器系统中。 下面提到的是同步的一些主要需求:...

同步(计算机科学)

编辑

计算机科学中,同步指的是两个不同但相关的概念之一:进程同步和数据同步。 进程同步指的是多个进程在某个点联合起来或握手,以达成协议或承诺执行特定的操作顺序。 数据同步是指保持数据集的多个副本彼此一致,或保持数据完整性的想法。 进程同步原语通常用于实现数据同步。

需要同步

编辑

同步的需要不仅仅出现在多处理器系统中,而且出现在任何类型的并发进程中; 即使在单处理器系统中。 下面提到的是同步的一些主要需求:

Forks and Joins:当一个作业到达一个fork点时,它被分成N个子作业,然后由n个任务提供服务。 在被服务之后,每个子作业等待直到所有其他子作业完成处理。 然后,他们再次加入并离开系统。 因此,并行编程需要同步,因为所有并行进程都在等待其他几个进程的发生。

生产者-消费者:在生产者-消费者关系中,消费者过程依赖于生产者过程,直到产生了必要的数据。

独占使用资源:当多个进程依赖于一个资源并且需要同时访问它时,操作系统需要保证在给定的时间点只有一个处理器访问它。 这会降低并发性

线程或进程同步

编辑

线程同步被定义为一种机制,它确保两个或多个并发进程或线程不会同时执行某些称为临界区的特定程序段。 进程对临界区的访问是通过使用同步技术来控制的。 当一个线程开始执行临界区(程序的序列化段)时,另一个线程应该等待直到xxx个线程完成。 如果不应用适当的同步技术,可能会导致竞争条件,其中变量的值可能无法预测,并且会根据进程或线程的上下文切换时间而变化。

例如,假设有3个进程,分别为1、2、3,这三个进程都是并发执行的,需要共享一个公共资源(临界区),这里应该使用同步来实现 避免访问此共享资源的任何冲突。 因此,当进程 1 和进程 2 都尝试访问该资源时,一次只能将其分配给一个进程。 如果它被分配给进程 1,则另一个进程(进程 2)需要等待,直到进程 1 释放该资源。

另一个需要考虑的同步要求是特定进程或线程的执行顺序。 例如,在购买机票之前不能登机。 同样,在验证适当的凭据(例如,用户名和密码)之前,不能检查电子邮件。 同样,ATM 在收到正确的 PIN 之前不会提供任何服务。

除了互斥,同步还处理以下内容:

  • 死锁,当许多进程正在等待其他进程持有的共享资源(临界区)时发生。 在这种情况下,进程只是继续等待,不再执行;
  • 饥饿,发生在一个进程等待进入临界区,但其他进程独占了临界区,xxx个进程被迫无限期等待;
  • 优先级倒置,当高优先级进程在临界区时发生,它被中等优先级进程中断。 这种违反优先级规则的情况在某些情况下可能会发生,并可能在实时系统中导致严重后果;
  • 忙等待,当进程频繁轮询以确定它是否可以访问临界区时发生。 这种频繁的轮询会占用其他进程的处理时间。

计算机

最小化同步

编辑

百亿亿次级算法设计的挑战之一是最小化或减少同步。 同步比计算花费更多的时间,尤其是在分布式计算中。 几十年来,减少同步引起了计算机科学家的关注。 然而,随着计算能力的提高和延迟之间的差距越来越大,它最近成为一个越来越重要的问题。 实验表明,由于分布式计算机上的同步,(全局)通信在稀疏迭代求解器中占据主导地位。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/203994/

(4)
词条目录
  1. 同步(计算机科学)
  2. 需要同步
  3. 线程或进程同步
  4. 最小化同步

轻触这里

关闭目录

目录