08 2022 档案
摘要:第八节 condition_variable、wait、notify_one、notify_all 一、条件变量condition_variable、wait、notify_one、notify_allstd::condition_variable实际上是一个类,是一个和条件相关的类,说白了就是等待
阅读全文
摘要:第七节 单例设计模式共享数据分析、解决,call_once 1.设计模式 程序灵活,维护起来可能方便,用设计模式理念写出来的代码很晦涩,但是别人接管、阅读代码都会很痛苦老外应付特别大的项目时,把项目的开发经验、模块划分经验,总结整理成设计模式中国零几年设计模式刚开始火时,总喜欢拿一个设计模式往上套,
阅读全文
摘要:第六节 unique_lock(类模板)详解 1.unique_lock取代lock_guard unique_lock比lock_guard灵活很多(多出来很多用法),效率差一点。 unique_lock<mutex> myUniLock(myMutex); 2.unique_lock的第二个参数
阅读全文
摘要:1.插入记录的方式汇总: 普通插入(全字段):INSERT INTO table_name VALUES (value1, value2, ...) INSERT INTO exam_record (uid, exam_id, start_time, submit_time, score) VALU
阅读全文
摘要:第五节 互斥量概念、用法、死锁演示及解决详解 一、互斥量(mutex)的基本概念 互斥量就是个类对象,可以理解为一把锁,多个线程尝试用lock()成员函数来加锁,只有一个线程能锁定成功,如果没有锁成功,那么流程将卡在lock()这里不断尝试去锁定。互斥量使用要小心,保护数据不多也不少,少了达不到效果
阅读全文
摘要:第四节 创建多个线程、数据共享问题分析、案例代码 一、创建和等待多个线程 #include <thread> #include <iostream> #include <vector> using namespace std; void TextThread() { cout << "我是线程" <
阅读全文
摘要:第三节 线程传参详解 一、传递临时对象作为线程参数要避免的陷阱1: #include <iostream> #include <thread> using namespace std; //void myprint(const int& i, char* pmbuf)void myprint(con
阅读全文
摘要:第二节 线程启动、结束,创建线程多法、join,detach 一、范例演示线程运行的开始 程序运行起来,生成一个进程,该进程所属的主线程开始自动运行;当主线程从main()函数返回,则整个进程执行完毕主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个
阅读全文
摘要:一、并发、进程、线程的基本概念和综述 1.1 并发 两个或者更多的任务(独立的活动)同时发生(进行):一个程序同时执行多个独立的任务;以往计算机,单核cpu(中央处理器):某一个时刻只能执行一个任务,由操作系统调度,每秒钟进行多次所谓的“任务切换”。并发的假象(不是真正的并发),切换(上下文切换)时
阅读全文

浙公网安备 33010602011771号