c++-C++有关复杂多线程计算的暂停和恢复

问题描述

C++有关复杂多线程计算的暂停和恢复

C++采用多线程的方法来对数组排序,怎么才能让计算可以暂停以及恢复,是需要写文件么?还有没有别的办法?

解决方案

参考:http://blog.csdn.net/tigertianx/article/details/17436291

解决方案二:

分段计算,使用barrier系列函数等待其他线程结束。
最后归并求出排序好的数组。前些天我刚好实现了一个linux下的多线程排序,附带讲解,链接不好贴,直接去我博客最近十篇博客之内找一下吧~

解决方案三:

使用 事件、信号量等同步方式即可。

解决方案四:

可以用event等事件来做等待,C++11中可以使用mutex

时间: 2016-04-20

c++-C++有关复杂多线程计算的暂停和恢复的相关文章

JAVA多线程机制之暂停、恢复和停止

在JDK1.2以前的版本如果要实现线程的暂停.恢复和停止的方法分别是suspend().resume().stop().但是从JDK1.2以后这些方法已经被遗弃,因为它们有可能造成严重的系统错误和异常. 首先suspend()方法不会释放线程所占用的资源.如果使用该方法将某个线程挂起,则可能会使其他等待资源的线程死锁.而resume()方法本身并无问题,但是不能独立于suspend()方法存在. 其次调用stop()可能会导致严重的系统故障.因为该方法会使线程立刻中断指令执行,不管这段方法是否执

MFC关于多线程计算脏数据的问题

问题描述 MFC关于多线程计算脏数据的问题 请问多线程运算为什么会出现脏数据,脏数据造成运算结果不稳定怎么避免和预防? 解决方案 所谓脏数据,就是一个线程修改了这个数据的副本,另一个线程持有的副本并没有更新,还是原来的数据,所以叫脏数据. 解决方案二: 数据没有加锁,被多个线程同时修改等.

mfc-MFC多线程计算浮点数组,关于返回值的自动保存

问题描述 MFC多线程计算浮点数组,关于返回值的自动保存 MFC多线程计算浮点数组,返回值能不能进行自动保存,并且如果出错,就自动恢复执行计算? 解决方案 你可以把结果保存到外部文件中,然后重新执行就从文件中读取. 解决方案二: 你想要保存到哪里?出错指的是什么出错?程序崩溃,要捕获异常,重新执行计算?

C++ 6.0浮点数组通过多线程计算秘制函数和均方差

问题描述 C++ 6.0浮点数组通过多线程计算秘制函数和均方差 C++ 6.0浮点数组通过多线程计算秘制函数和均方差,用多线程并发优化,属于密集程序么?怎么样才能CPU密集化? 解决方案 http://blog.csdn.net/zhandoushi1982/article/details/6041430

MFC线程的运行、暂停、恢复和停止

问题描述 MFC线程的运行.暂停.恢复和停止 MFC线程计算,线程的个数不知道的情况下,怎么知道每个线程执行了多少行代码了? 解决方案 http://www.cppblog.com/lanshengsheng/archive/2013/01/15/197280.aspx 解决方案二: MFC线程

c++-C++调用CURL下载文件暂停后恢复下载失败。错误码CURLE_PARTIAL_FILE。

问题描述 C++调用CURL下载文件暂停后恢复下载失败.错误码CURLE_PARTIAL_FILE. C++调用CURL下载文件暂停后恢复下载失败.错误码CURLE_PARTIAL_FILE. 暂停一分钟内恢复下载没有问题,但是在暂停超过两分钟恢复下载的时候就会出现CURLE_PARTIAL_FILE. 开始以为是DNS在内存中保存超时了,结果调用了CURLOPT_DNS_CACHE_TIMEOUT还是不行. GOOGLE了一把,有人遇到这个问题,但是没有看到具体的解决方案. curl_easy

5.cocos2dx中关于draw绘图,声音和音效,预加载,播放与停止Vs暂停和恢复,音量控制

 1 draw绘图 头文件 T19Draw.h #ifndef __T19Draw_H__ #define __T19Draw_H__ #include "cocos2d.h" #include "TBack.h"   USING_NS_CC;   class T19Draw:public TBack { public:     static CCScene * scene();     CREATE_FUNC(T19Draw);     bool init()

Android 暂停和恢复Activity_Android

暂停和恢复Activity(Pausing and Resuming an Activity) 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号.拍照.发送email.看地图.每一个activity被给予一个窗口,在上面可以绘制用户接口.窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上. 一个应用程序通常由多个activities组成,他们通常是松耦合关系.通常,一个应用程序中的activity被指定为"main"activity,当

Android 暂停和恢复Activity

暂停和恢复Activity(Pausing and Resuming an Activity) 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号.拍照.发送email.看地图.每一个activity被给予一个窗口,在上面可以绘制用户接口.窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上. 一个应用程序通常由多个activities组成,他们通常是松耦合关系.通常,一个应用程序中的activity被指定为"main"activity,当