摘要: unique更方便使用,但是会消耗更多的计算机性能 onceflag保证一个线程被调用一次,防止不能的加锁开锁 阅读全文
posted @ 2016-12-14 23:39 卖雨伞的小男孩 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 如果有两把锁 lock1(mutex_gard 方式)和lock; 两者的调用顺序不同,会出现相互等待的情况,从而造成死锁; 为了避免死锁,我们可以: 1、每个线程中锁的调用顺序都相同; 2、使用std:: lock(); 具体用法;在主线程和子线程都调用的方法中 std::lock(mutex1, 阅读全文
posted @ 2016-12-14 23:26 卖雨伞的小男孩 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 看两个代码: 以上由于共用资源cout对象,而出现不规律的输出; 可以通过加入mutex对象进行加锁,需要包含头文件mutex.h 注意:线程的安全永远是相对的,根据需要控制安全级别 阅读全文
posted @ 2016-12-14 23:12 卖雨伞的小男孩 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 一、多进程和多线程对比 多进程:进程不止一个,开销比较大,通信方式比较复杂(可以用过管道、文件、消息队列进行通信),维护成本不高。 多线程:利用共享内存的方式进行指令的执行,开销比较低,但是维护起来比较麻烦,需要考虑到共享资源的问题。不支持分布式运算。 二、多线程举例 三、多线程管理 1、 2、线程 阅读全文
posted @ 2016-12-14 22:41 卖雨伞的小男孩 阅读(10340) 评论(0) 推荐(1) 编辑
摘要: 调用外部命令 如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW); 如果用IE打开,就调用ShellExecute(NULL, _T("op 阅读全文
posted @ 2016-12-14 15:24 卖雨伞的小男孩 阅读(3695) 评论(1) 推荐(0) 编辑
摘要: private void InitializeComponent() { //设定按字体来缩放控件 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //设定字体大小为12px this.Font = new System.D 阅读全文
posted @ 2016-12-12 12:33 卖雨伞的小男孩 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 1、序列for循环 map<string,int> m{{"a",1},{"b",2},{"c",3}} for(auto p:m) { cout<<p.first<<":"<<p.second<<endl } 阅读全文
posted @ 2016-12-08 10:42 卖雨伞的小男孩 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 一、简单介绍 JSON 的全称为:JavaScript Object Notation,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。 二、第三方库 jsoncpp:它 是比较出名的 C++ JSON 解析库。地址:http://s 阅读全文
posted @ 2016-11-30 15:17 卖雨伞的小男孩 阅读(1337) 评论(0) 推荐(0) 编辑
摘要: L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。 P表示这是一个指针;C表示是一个常量;T表示在Win32环境中, 有一个_T宏,这个宏用来表示你的 阅读全文
posted @ 2016-11-24 09:58 卖雨伞的小男孩 阅读(14395) 评论(0) 推荐(1) 编辑
摘要: x86: 将程序集编译为由兼容 x86 的 32 位公共语言运行库运行。 x64: 将程序集编译为由支持 AMD64 或 EM64T 指令集的计算机上的 64 位公共语言运行库运行。 anycpu:(默认值)将程序集编译为在任意平台上运行。 Itanium: 将程序集编译为由采用 Itanium 处 阅读全文
posted @ 2016-11-22 18:20 卖雨伞的小男孩 阅读(630) 评论(0) 推荐(0) 编辑