【发布时间】:2021-06-30 12:43:20
【问题描述】:
我有一个要求,我需要根据动态激活的触发器发送一封电子邮件。我在下图中简要介绍了我当前的代码架构。
在下图中,我有一个类 Sample.cpp,它具有发送电子邮件的 Common 功能。此Common 函数在EmailClass 中的triggerFun 函数的单个线程中调用。 EmailClass 被多个类动态调用,如下图所示。
我的要求是我想跨多个线程同步 common 函数的使用。意味着我只想让一个线程一次调用 common 函数。在第一个线程中使用 common 函数竞争后,然后想让第二个线程允许执行 common 函数等......
能否请您告诉我是否有任何方法可以在函数 common 的使用中同步线程。
【问题讨论】:
-
您在寻找
std::mutex吗? -
@largest_prime_is_463035818,在我的情况下,超过 10 个线程尝试访问“公共”功能。那么当我使用互斥锁时,是否所有剩余的线程都等待公共函数从之前的线程函数中解锁,然后剩余的线程被执行?
标签: c++ multithreading thread-safety mutex