【问题标题】:Thread Pool Issue线程池问题
【发布时间】:2020-10-02 18:40:55
【问题描述】:

情况:

我有一个 64 个线程的线程池。我有一个共享缓冲区,我在其中以同步和有组织的方式放置和获取“作品”。作为一个正常的线程池应该可以工作。一切正常。

问题:

在 main() 内部,我想将一个工作放在共享缓冲区中,并且我希望线程池中的一个线程来执行它。但是,我需要 main() 在该线程完成该工作之前等待。通常我会 pthread_join() 它,但我不知道哪个线程正在运行工作。

对不起,如果我没有把自己说得很清楚,但我希望你能帮助我。

提前致谢!

【问题讨论】:

    标签: c linux multithreading threadpool


    【解决方案1】:

    在工作结构中包含一个同步对象(例如信号量)。发布工作并等待同步。让池线程在完成时发出同步信号。除非在枪口下,否则不要靠近 join()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      相关资源
      最近更新 更多