Chrome中的Thread类实现比较有意思,没有复杂的接口,没有很多可调控的参数,譬如线程优先级什么的。
线程类Thread定义在base命名空间里,是一个比较通用的基础类。位于文件src\base\thread.h。Thread继承于PlatformThread::Delegate类,除了提供易用的接口之外,比较中要的内容就是实现了线程入口函数,这种继承框架是基于跨平台考虑。跟平台相关的代码放在了PlatformThread类里,线程启动时,转调用它Delegate类的函数体就可以。以下是PlatformThread::Delegate类的说明:
// A simple thread abstraction that establishes a MessageLoop on a new thread.
// The consumer uses the MessageLoop of the thread to cause code to execute on
// the thread. When this object is destroyed the thread is terminated. All
// pending tasks queued on the thread's message loop will run to completion
// before the thread is terminated.
class Thread : PlatformThread:: Delegate {
PlatformThread::Delegate类定义在\src\base\platform_thread.h文件中,是一个接口。
// Implement this interface to run code on a backgro