- 博客(7)
- 收藏
- 关注
Chrome CancelableRequest类分析
在前面介绍的Chrome Task类,可以让代码在指定线程上运行。 另一种常见的场景就是发出一个异步请求,并想知道请求处理的结果。这时请求的处理过程虽然是在另一个线程上的,但是请求的结果却从(调用者)请求发起的线程上回来,并且请求是可以取消的。 这是很有用的,比如我们经常从界面上(UI线程)发起一个动作,该动作会在Worker线程执行,结束后会通过回调函数回来。这时的回调函数是运行在Wor...
2009-12-14 18:34:45
124
Chrome MessageLoop类分析
Windows程序是基于消息的,不管其封装形式如何,最后都要包含如下代码MSG msg;while(GetMesssage(&msg)){TranslateMessage(&msg);DispatchMessage(&msg); } 大部分的工作都是在这个while循环里完成。 GetMessage获得一条消息,然后调用DispatchMes...
2009-12-14 18:30:35
521
原创 Chrome CancelableRequest类分析
在前面介绍的Chrome Task类,可以让代码在指定线程上运行。 另一种常见的场景就是发出一个异步请求,并想知道请求处理的结果。这时请求的处理过程虽然是在另一个线程上的,但是请求的结果却从(调用者)请求发起的线程上回来,并且请求是可以取消的。 这是很有用的,比如我们经常从界面上(UI线程)发起一个动作,该动作会在Worker线程执行,结束后会通过回调函数回来。这时的回调函数是运行在Wor
2009-12-14 18:14:00
2135
1
Chrome Task类分析
在上一篇《Chrome线程模型》之后,我们来实际看一看代码。 多线程编程完全基于消息传递会比较麻烦,因为消息的封装和解析是比较麻烦的。不仅如此,被多个线程调用的其实是同一个对象的不同方法。比如class Work{ public: void Start() { //CreateThrea...
2009-12-09 20:42:33
126
原创 Chrome Task类分析
在上一篇《Chrome线程模型》之后,我们来实际看一看代码。多线程编程完全基于消息传递会比较麻烦,因为消息的封装和解析是比较麻烦的。不仅如此,被多个线程调用的其实是同一个对象的不同方法。比如class Work{ public: void Start() {
2009-12-09 20:30:00
4464
3
Chrome线程模型(编译)
多线程编程是非常复杂的,Chrome的多线程处理有很多值得借鉴的地方。这篇文章是Chromium项目中Threading的设计和说明文档,简单翻译和注释了一下,以帮助理解。 简单总结就是,不要启动太多线程而应该使用专用的公共线程,代码一定要搞清楚运行在哪个线程上,要有一个简单的方式在线程之间进行通讯。 原文地址 http://dev.chromium.org/develope...
2009-12-08 23:28:48
104
翻译 Chrome线程模型(编译)
多线程编程是非常复杂的,Chrome的多线程处理有很多值得借鉴的地方。这篇文章是Chromium项目中Threading的设计和说明文档,简单翻译和注释了一下,以帮助理解。 简单总结就是,不要启动太多线程而应该使用专用的公共线程,代码一定要搞清楚运行在哪个线程上,要有一个简单的方式在线程之间进行通讯。原文地址 http://dev.chromium.org/develope
2009-12-08 23:04:00
2431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人