2018年6月23日

chromium之message_pump_win之三

摘要: 先看看典型用法 第一种用法是不需要读取数据到buffer,因此所有的清理工作可以交给message pump 第二种用法是需要读取buffer,需要手动delete IOContext 第三种用法是在第二种的基础上,析构函数等待所有的IO结束 来来来,上代码 1)have_work_ = 1; 2) 阅读全文

posted @ 2018-06-23 20:50 ckelsel 阅读(285) 评论(0) 推荐(0) 编辑

chromium之message_pump_win之二

摘要: 先看看介绍,有点长 看不下去了,看代码把, 总共两个步骤: 1) have_work_ = 1; 2) 发送一个kMsgHaveWork消息,通知MessagePump 工作 接下来是ScheduleDelayedWork SetTimer, https://msdn.microsoft.com/e 阅读全文

posted @ 2018-06-23 19:06 ckelsel 阅读(416) 评论(0) 推荐(0) 编辑

chromium之ScopedNSAutoreleasePool浅析

摘要: 上代码,看看注释 ScopedNSAutoreleasePool只有Mac系统特有的,也可以理解为OC特有的函数, 其他系统为空实现 阅读全文

posted @ 2018-06-23 17:34 ckelsel 阅读(139) 评论(0) 推荐(0) 编辑

chromium之MessagePump.h

摘要: 上代码,注释已经写得很详细了。 粗看一下,这是个纯虚类,用于跨平台的通用接口。 MessagePump,Pump的意思是泵,,MessagePump也就是消息泵,输送消息 阅读全文

posted @ 2018-06-23 15:23 ckelsel 阅读(626) 评论(0) 推荐(0) 编辑

2018年6月9日

chromium之at_exit

摘要: exit_manager离开作用域,所有的回调函数,单例的析构函数将会被调用。 再看看头文件 使用方法很简单,只要在main函数最开始的地方,定义一个即可 阅读全文

posted @ 2018-06-09 10:49 ckelsel 阅读(260) 评论(0) 推荐(0) 编辑

chromium之dynamic_annotations

摘要: 使用方法: 阅读全文

posted @ 2018-06-09 10:34 ckelsel 阅读(256) 评论(0) 推荐(0) 编辑

chromium之thread_local

摘要: thread_local 阅读全文

posted @ 2018-06-09 10:23 ckelsel 阅读(131) 评论(0) 推荐(0) 编辑

chromium之message_pump_default

摘要: 依次分析下,MessagePumpDefault::Run 接下来是MessagePumpDefault::Quit 设置MessagePumpDefault::Run的循环标志为false,退出循环 接下来是MessagePumpDefault::ScheduleWork 启动计划工作 最后是Me 阅读全文

posted @ 2018-06-09 10:22 ckelsel 阅读(267) 评论(0) 推荐(0) 编辑

chromium之lazy_instance

摘要: 1. 线程安全,构造成功后向AtExitManager注册,析构函数会在程序退出时调用 2. 类似Singleton,但是可以有多个同一个类型的LazyInstance,Singleton只能有一个类型的实例 3. POD https://akrzemi1.wordpress.com/2012/04 阅读全文

posted @ 2018-06-09 10:21 ckelsel 阅读(332) 评论(0) 推荐(0) 编辑

chromium之compiler_specific

摘要: 直接上代码,将一些编译警告定义成宏 #if defined(COMPILER_MSVC) // Macros for suppressing and disabling warnings on MSVC. // // Warning numbers are enumerated at: // http://msdn.microsoft.com/en-us/library/8x5x43k7(VS... 阅读全文

posted @ 2018-06-09 10:20 ckelsel 阅读(165) 评论(0) 推荐(0) 编辑

导航