摘要: 本文摘要: 1:什么是路由事件; 2:中断事件路由; 3:自定义路由事件; 4:为什么需要自定义路由事件; 5:什么是冒泡事件和预览事件(隧道事件); 1:什么是路由事件 WPF中的事件为路由事件,所谓路由事件,MSDN定义如下: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引 阅读全文
posted @ 2017-01-05 16:57 卖雨伞的小男孩 阅读(9037) 评论(0) 推荐(3)
摘要: 一、c++11中可以在调用进程中获取被调进程中的结果,具体用法如下 二、promise将值传递给子线程 有promise的情况下必须有setvalue;promise和future均不能被复制,只能被移动。 如果我们需要多个子线程执行一段代码,那么可以使用std::shared_future()来创 阅读全文
posted @ 2016-12-15 01:11 卖雨伞的小男孩 阅读(990) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-12-15 01:02 卖雨伞的小男孩 阅读(194) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-12-15 00:55 卖雨伞的小男孩 阅读(375) 评论(0) 推荐(0)
摘要: 如果有一个队列,方法一和方法二;方法一是生产者,方法二是消费者; 两者不停的相互等待,加减锁,为了减少不必要的等待,我们可以使用条件变量, 条件的变量的第二个参数的加入可以控制多个线程的”消费“情况 阅读全文
posted @ 2016-12-14 23:52 卖雨伞的小男孩 阅读(232) 评论(0) 推荐(0)
摘要: unique更方便使用,但是会消耗更多的计算机性能 onceflag保证一个线程被调用一次,防止不能的加锁开锁 阅读全文
posted @ 2016-12-14 23:39 卖雨伞的小男孩 阅读(264) 评论(0) 推荐(0)
摘要: 如果有两把锁 lock1(mutex_gard 方式)和lock; 两者的调用顺序不同,会出现相互等待的情况,从而造成死锁; 为了避免死锁,我们可以: 1、每个线程中锁的调用顺序都相同; 2、使用std:: lock(); 具体用法;在主线程和子线程都调用的方法中 std::lock(mutex1, 阅读全文
posted @ 2016-12-14 23:26 卖雨伞的小男孩 阅读(937) 评论(0) 推荐(0)
摘要: 看两个代码: 以上由于共用资源cout对象,而出现不规律的输出; 可以通过加入mutex对象进行加锁,需要包含头文件mutex.h 注意:线程的安全永远是相对的,根据需要控制安全级别 阅读全文
posted @ 2016-12-14 23:12 卖雨伞的小男孩 阅读(991) 评论(0) 推荐(0)
摘要: 一、多进程和多线程对比 多进程:进程不止一个,开销比较大,通信方式比较复杂(可以用过管道、文件、消息队列进行通信),维护成本不高。 多线程:利用共享内存的方式进行指令的执行,开销比较低,但是维护起来比较麻烦,需要考虑到共享资源的问题。不支持分布式运算。 二、多线程举例 三、多线程管理 1、 2、线程 阅读全文
posted @ 2016-12-14 22:41 卖雨伞的小男孩 阅读(10396) 评论(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 卖雨伞的小男孩 阅读(3752) 评论(1) 推荐(0)