C++
MINE-life
一个有爱的程序员
展开
-
QT [文件操作] 学习总结
原创 2018-07-09 11:40:12 · 211 阅读 · 0 评论 -
多线程售票程序(C++11 线程互斥锁的使用)
先贴代码:#include <iostream>#include <thread>#include <mutex>#include <windows.h>using namespace std; //有些库中也会有thread,名字会产生冲突, //因此,std命名空间不去引用static int ticks =...原创 2018-07-04 15:40:30 · 911 阅读 · 0 评论 -
C++11 的线程类与互斥类
vs2013 以上版本已经支持C++11 线程类和互斥类1. 使用函数thread来传送(不推荐)。#include <iostream>#include <thread>#include <mutex>using namespace std; //有些库中也会有thread,名字会产生冲突, //因此,std命名空间不去引用...原创 2018-07-04 15:16:45 · 377 阅读 · 0 评论 -
临界区的C++类封装
之前学习了临界区的使用,但是使用方式是极其不方便的,还使用了一个全局变量CRITICAL_SECTION section;调用函数还要访问变量,整个临界区代码散落在各地,本文使用封装来增加代码的可读性。注:仍然要使用一个全局变量。封装XMutex类代码如下://.h#pragma once#ifdef XPLATFORM_EXPORTS#define XPLATFORM_API __decls...原创 2018-07-04 14:44:11 · 708 阅读 · 0 评论 -
互斥访问、临界区、线程同步
临界区的使用原则:尽晚使用,尽早退出记得释放临界区:每个进程中访问临界资源的那段代码称为临界区。一般线程同步都是使用临界区来实现的,临界区是系统级的API,是最高效的一种方法。当对一个Buffer写入数据时,如果不加入临界区,则会导致写乱,即ABBBBAAAAABBBBBBB....。我们想要的结果为AAAAAAAAA......,或者BBBBBBBBBBBB........无临界区代码如下(XT...原创 2018-07-04 14:29:44 · 1381 阅读 · 0 评论 -
线程的挂起与恢复
线程的挂起与恢复缺点:什么时候调用?挂起后的资源会存在,会发生一些不可预知问题!XThread.h#pragma once#ifdef XPLATFORM_EXPORTS#define XPLATFORM_API __declspec(dllexport)#else#define XPLATFORM_API __declspec(dllimport)#endifclass XPLAT...原创 2018-07-04 13:46:18 · 1130 阅读 · 0 评论 -
Qt 多线程
使用线程池能够比较方便的操作QThreadPool threadPool;threadPool.setMaxThreadCount(1);QtConcurrent::run(&threadPool, [&cloud1, &cloud_f_1, &cloud_f1](){});threadPool.waitForDone();...原创 2018-07-03 17:30:32 · 153 阅读 · 0 评论 -
计算卡死问题
最近在做一个程序,有的可以成功计算,有的则会一直计算不输出结果,这就需要根据一定阈值,强行终止计算。多线程法这种方法是不适用的,因为我的计算过程中会使用共享指针,强行关闭线程会使堆上的数据不能释放。多进程法进程被杀死系统会释放资源,故可行。计算中进行判断如果时间过长,则停止返回。...原创 2018-07-03 13:56:31 · 1234 阅读 · 0 评论 -
拷贝构造函数、 深拷贝&浅拷贝
拷贝构造函数 对于基本数据类型,拷贝构造函数类似如下:int a = 10;float b = 100.0;而对于自定义的结构,拷贝构造函数并没有那么随意。原创 2018-07-03 08:12:11 · 176 阅读 · 0 评论 -
如何检查程序只有一个运行实例?
有时候运行多个实例可能会造成错误,尤其是进程中有多个线程时。#include<iostream>#include<windows.h>using namespace std;int main(){ cout << "In this process!\n"; HANDLE hMutex = CreateMutex(NULL, true, L"XOne...原创 2018-07-04 15:02:52 · 332 阅读 · 0 评论