自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 简单的线程池

简单线程池实现只能提交任务,不能接收返回结果。#include <functional>#include <atomic>#include <thread>#include <vector>#include <mutex>#include <condition_variable>#include <que...

2020-04-09 14:02:33 117

原创 C++11 并发与多线程学习记录(九)

window临界区和互斥量Mutex临界区相关API:void InitializeCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);void DeleteCriticalSection(LPCRITICAL_SECTIONlpCriticalSection);void EnterCriticalSection(LPCRITICAL_...

2020-02-01 23:01:52 161

原创 C++11 并发与多线程学习记录(八)

std::async、std::future启动一个异步任务,返回一个std::future类模板对象,可以使用get函数获取结果。如果不需要返回值,可以使用std::future对象的wait函数。get函数只能调用一次,且会一直阻塞到拿到返回值为止。给std::async传入std::launch类型参数,默认立即执行线程,std::launch::deferred可以延迟启动线程。直到...

2020-01-30 17:49:59 190

原创 C++11 并发与多线程学习记录(七)

std::conditon_variable、wait、notify_one、notify_allstd::conditon_variable需要和互斥量配合工作,使用的时候需要生成该类的对象。wait函数:wait()函数传入一个互斥量和返回bool的可调用对象。如果返回true,那么wait直接返回,否则wait解锁互斥量并阻塞到本行,直到某个线程调用notify_one为止。如果wai...

2020-01-30 00:08:33 183

原创 C++11 并发与多线程学习记录(六)

多线程单例设计普通的单例模式class MyCas{ private: MyCas(){} static MyCas* m_instance;public: static MyCas *GetInstance() { if(m_instance == NULL) { m_instance = new MyCas(); static CG...

2020-01-28 18:13:28 128

原创 C++11 并发与多线程学习记录(五)

unique_lock取代lock_guard类模板,比lock_guard更灵活,效率更低。unique_lock的第二个参数std::adopt_lock,表示互斥量已经lock了。要先lock()才能使用这个参数。std::try_to_lock,尝试lock互斥量,如果lock失败会立即返回。并不会阻塞。使用owns_lock()判断是否lock成功。std::defer_...

2019-12-08 20:59:45 99

原创 C++11 并发与多线程学习记录(四)

保护共享数据互斥量

2019-12-08 18:03:28 118

原创 C++11 并发与多线程学习记录(三)

线程传参临时参数作为线程参数不管使用引用类型还是值类型作为参数。传入参数最终会被拷贝到线程的堆栈空间。如果一定要使用引用传参需要使用std::ref()函数。避免使用隐式转换。隐式转换可能发生在main函数执行完毕后。这时将使用到已释放的内存空间(detach的情况下)。建议传参尽量在创建线程的时候构造临时对象并传入。[^1]尽量使用const & 修饰传入的值参数。可以减少一次...

2019-10-07 00:26:55 157

原创 C++11 并发与多线程学习记录(二)

初涉线程线程的开始主线程从main函数开始,自己创建的线程则需要提供一个可调用对象。函数执行完毕,线程就退出。线程的结束主线程退出后,整个进程也将执行完毕。一般情况下,如果其它子线程也还没执行完毕,随着主线程退出,子线程也将被操作系统全部中止。线程头文件#include <thread>thread类介绍join()函数,阻塞主线程,主线程等待子线程执行完毕。d...

2019-10-06 16:22:28 131

原创 C++11 并发与多线程学习记录(一)

并发、进程、线程的基本概念与综述并发两个或更多的任务同时发生,一个程序同时执行多个独立的任务。单核CPU通过在每秒钟进行快速的“任务切换”制造出并发的假象。这种切换(上下文切换)是有时间开销的,操作系统要保存切换前的各种状态。多核CPU才具有真正的并行执行多个任务的能力。(硬件并发)原因:同一时间块内可以执行多个任务,提高性能。进程进程,就是运行起来的可执行程序。执行了可执行程序...

2019-10-05 18:33:17 201

cef3.2623 dll、lib、pdb、头文件(包含release、edbug、x64版本).zip

支持xp的最后一个版本。支持mp3,mp4。 cef_binary_3.2623.1401.gb90a3be_windows32.zip cef_binary_3.2623.1401.gb90a3be_windows64.zip

2020-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除