我正在开发一个(C++)程序,在执行查询期间可能会使用多个线程,其中一些线程将依赖于由自身启动的其他线程或此查询进程中的另一个线程。确定特定线程是否存在取决于传递给线程的特定参数,这是活动线程列表中线程数据的一部分。单个线程可能会很快完成,而其他线程可能需要很长时间。
为了防止重新发明轮子,是否有一些算法、模式或最佳实践来处理多个相互依赖的线程上的编组和等待?
我正在开发一个(C++)程序,在执行查询期间可能会使用多个线程,其中一些线程将依赖于由自身启动的其他线程或此查询进程中的另一个线程。确定特定线程是否存在取决于传递给线程的特定参数,这是活动线程列表中线程数据的一部分。单个线程可能会很快完成,而其他线程可能需要很长时间。
为了防止重新发明轮子,是否有一些算法、模式或最佳实践来处理多个相互依赖的线程上的编组和等待?