chromium中的多线程概述

刚开始接触chromium代码的时候,觉得它的多线程非常别扭,有些事情只能在某些线程上才能做,还得bind函数PostTask来PostTask去的。有时候在不同地方获取几个不同的参数,写出的代码支离破碎,PostTask导致逻辑不连贯,非常不习惯这样的。 即使非常讨厌也不得不接受,只有掌握了chromium的多线程,才能随心所欲的写出正确的代码。以前走过很多弯路,再把chromium的多线程文档翻译一遍,写篇博客总结一下。 一般来说我们不必在chromium中创建新的线程,chromium一开始就为我们创建好了几个线程。大多数线程都是属于BrowserProcess对象管理的。 ui_thread:程序起来的主线程。 io_thread:处理browser进程跟其他子进程通信的线程,网络资源的请求也在通过这个线程调度。 file_thread:文件操作线程。 db_thread:数据库操作线程,比如cookie数据库的读取。 safe_browsing_thread:不知道干嘛的。 History:历史记录数据库读取线程。 Proxy... Read More | Share it now!