摘要:
unique更方便使用,但是会消耗更多的计算机性能 onceflag保证一个线程被调用一次,防止不能的加锁开锁 阅读全文
摘要:
如果有两把锁 lock1(mutex_gard 方式)和lock; 两者的调用顺序不同,会出现相互等待的情况,从而造成死锁; 为了避免死锁,我们可以: 1、每个线程中锁的调用顺序都相同; 2、使用std:: lock(); 具体用法;在主线程和子线程都调用的方法中 std::lock(mutex1, 阅读全文
摘要:
看两个代码: 以上由于共用资源cout对象,而出现不规律的输出; 可以通过加入mutex对象进行加锁,需要包含头文件mutex.h 注意:线程的安全永远是相对的,根据需要控制安全级别 阅读全文
摘要:
一、多进程和多线程对比 多进程:进程不止一个,开销比较大,通信方式比较复杂(可以用过管道、文件、消息队列进行通信),维护成本不高。 多线程:利用共享内存的方式进行指令的执行,开销比较低,但是维护起来比较麻烦,需要考虑到共享资源的问题。不支持分布式运算。 二、多线程举例 三、多线程管理 1、 2、线程 阅读全文
摘要:
调用外部命令 如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW); 如果用IE打开,就调用ShellExecute(NULL, _T("op 阅读全文