【发布时间】:2019-08-25 15:30:58
【问题描述】:
我想通过实现线程并行工作来加速排序功能。我对 pthread 的基本知识是创建、连接和使用互斥锁来防止死锁。
所以我的问题是: 完成任务后如何将任务分配给线程?例如,如果我将列表的一半给线程 1 排序,另一个给任务 2 排序,一旦任务 1 完成,它应该跳转到任务 2 并帮助它。
如果有帮助,我正在使用快速排序进行测试。
我尝试查看是否有任务分配功能,但我偶然发现的功能不同。
【问题讨论】:
-
“跳到任务二并帮助它”是什么意思?通常,你不会。你在做的时候把任务分成不同的线程,让线程完成,然后合并结果。
-
@MFisherKDX:有时会使用持久线程池,线程被动态分配任务,而不是重复创建和销毁。
-
@MFisherKDX 这也是我的假设,但我的某人建议在线程(在线程池中)完成其任务后,可以“打开”新任务或从另一个执行任务的线程中拆分并对该拆分进行排序。不确定这是否有意义