Chromium学习分享
从多进程的角度看Chromium
从多线程的角度看Chromium
Chromium中线程的实现
Chromium中线程的实现
一个Thread只能有一个MessageLoop被实例化。例如,在BrowserMain函数(该函数是Browser进程的入口函数)中实例化一个局部变量MessageLoop main_message_loop(MessageLoop::TYPE_UI),以后在该线程中任意位置可以通过调用MessageLoop::current()来获取该MessageLoop并调用MessageLoop::current()-Run()来执行该线程实体。
这其中的技术就是线程局部存储(ThreadLocalPointer),当构造一个MessageLoop时,构造函数会将这个MessageLoop指针设置到这个线程的ThreadLocalPointer 对象中,当MessageLoop对象析构时,会重置ThreadLocalPointer 对象。
线程中的自定义任务TASK
在多线程模型中最令人头疼的问题是“加锁”。为了极力避免锁的存在,Chromium的线程模型中加入了一种名为TASK的概念。当你期望你的一个逻辑(or函数)在某个线程中执行时,你可以在当前线程中创建一个Task对象,并将该逻辑放入到Task的Run方法中,最后通过调用“期望执
您可能关注的文档
- 第20章之四组合逻辑电路课题.ppt
- 第22课 新式教育的发端课题.ppt
- 第一章光学基本知识1分解.ppt
- 第23课美术的辉煌课题.ppt
- 第28课杨子荣借题发挥语文S版课题.ppt
- 20152015年国培计划发言稿预案.pptx
- 20160531船员管理系统使用培训-3、船员注册预案.pptx
- AMH——卵巢储备功能新指标预案.pptx
- 第31讲预制砼构件工程量31课题.ppt
- 第八单元提升课题.ppt
- 新疆塔城地区第一高级中学2025-2026学年高一下学期学情自测物理试卷(含解析).docx
- 苏教版五年级上册数学 期中检测卷.doc
- 新疆维吾尔自治区昌吉回族自治州呼图壁县2025-2026学年九年级上学期1月期末英语试题(含解析).docx
- 新疆维吾尔自治区和田地区和田市2025-2026学年上学期八年级英语期末试卷(含解析).docx
- 四川省绵阳市游仙区2025-2026学年七年级上学期1月期末英语试题(含解析).docx
- 苏教版三年级上册数学 第三单元测试题.doc
- 四川省绵阳市梓潼县2025-2026学年八年级上学期1月期末物理试题(含解析).docx
- 四川省绵阳市盐亭县四校联考2025-2026学年八年级下学期物理学情自测(含解析).docx
- 房颤患者太极拳练习.pptx
- 苏教版五年级上册数学 期末检测卷.doc
原创力文档

文档评论(0)