gpt4 book ai didi

concurrency - 互斥与同步之间的区别?

转载 作者:行者123 更新时间:2023-12-03 12:14:47 27 4
gpt4 key购买 nike

两者之间有什么区别?

我想到了这个问题,因为我发现

  • 监视器和锁提供互斥
  • 信号量和条件变量提供同步

  • 这是真的?

    另外在搜索时我发现了这个 article

    请作出任何澄清。

    最佳答案

    互斥意味着在任何给定时间点,只有一个线程应该能够访问共享资源。这避免了获取资源的线程之间的竞争条件。监视器和锁提供了这样做的功能。

    同步表示您对多个线程对共享资源的访问进行同步/排序。
    考虑示例:
    如果您有两个线程,Thread 1Thread 2Thread 1Thread 2是并行执行的,但是在Thread 1可以按顺序执行语句A之前必须执行Thread 2必须按顺序执行语句B。您这里需要的是同步。信号量提供了这一点。您在A中的Thread 1语句之前放置了一个semapohore,然后在B中的Thread 2语句之后发布到了信号量。
    这样可以确保您所需的同步。

    关于concurrency - 互斥与同步之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100923/

    27 4 0