【发布时间】:2012-10-20 11:34:57
【问题描述】:
我有创建线程的线程池,每个线程工作者都会计算一些工作以及何时完成
它将结果写入文件,只有 1 个结果文件,每个工作线程需要写入。
现在我的问题是我如何保证不会有任何锁或丢失写入数据到分配线程试图写入单个文件的文件?对于这种情况,正确的策略是什么?
mybe 将所有结果保存在内存中?或结果的chanks
我已经在使用 QThreadPool 框架,我需要找到解决方案。
我也徘徊,从工作线程写入单个文件,我将不得不使用
单例文件管理器或静态类,这是个好主意吗?对于多线程应用程序?
【问题讨论】:
-
根据你的描述,QtConcurrent::mappedReduced可能有用
-
你们提供什么解决方案?将结果保存在内存中?
-
您创建自己的
Runnable派生自QRunnable?
标签: c++ multithreading qt locking