1、“.....而类的成员函数执行的是无限循环。函数不能够进入睡眠状态,如果它有个延迟处理的消息,那么需要通过函数调用层的类的成员函数来进行调度,而类的成员函数可以自行进入睡眠状态来调度延迟处理消息的执行。至此,我们就分析完成应用程序的线程是如何实现的消息循环了。接下来我们继续分析另外个特殊的消息循环,那就是负责执行的线程的消息循环......”。
2、“.....除了我们提到它会调用类的成员函数和来执行些与线程相关的工作之外,还会调用类的成员函数来执行其它的启动任务,如下所示,这个函数定义在文件中。类的成员函数执行的启动任务很多,这里我们只关心与线程相关的任务,如下所示,,,这个函数定义在文件中。类的成员函数首先是会创建个对象,并且保存在成员变量中......”。
3、“.....因此通过它可以向当前线程的消息队列发送消息。当前线程即为应用程序的线程,因此有了这个对象之后,接下来可以向线程的消息队列发送消息。类的成员函数创建了个用来创建线程的,这个绑定的函数为类的成员函数,并且会保存在前面创建的个的内部等待执行。最后,取决于应用程序的线程是使用同步还是异步方式来启动......”。
4、“.....那么就调用上述对象的成员函数来执行保存在它里面的各个对象的成员函数来执行它们。如果是使用异步方式启动,那么就调用上述对象的成员函数向线程的消息队列发送个消息,当该消息被处理时,再执行保存在上述对象里面的各个对象的成员函数。无论是同步方式,还是异步方式,最终都会在线程调用类的成员函数来创建系列线程......”。
5、“.....类的成员函数创建了很多线程,每个线程都有专门的作用。这些线程的作用可以参考以下的枚举类型的定义,,,,,,,这个枚举类型定义在文件中。回到类的成员函数中,我们只关注线程的创建过程。这个线程使用个对象来描述,并且通过调用该对象的成员函数来启动。类是从类继承下来的。从前面的分析又可以知道,类又是从类继承下来的。因此......”。
6、“.....并且在创建的时候,指定创建的消息循环的类型为。从前面分析的类的成员函数的实现可以知道,类型为的消息循环使用的消息泵的通过类来描述。类是从类继承下来的,它的定义如下所示,这个类定义在文件中。类与前面分析的类实现消息循环的最大区别是,前者通过实现线程睡眠与唤醒,而后者是通过条件变量实现线程睡眠与唤醒的......”。
7、“.....如果读过这篇文章,应用程序使用的的消息循环机是基于机制实现的。因此,里面的线程的消息循环机制与应用程序的消息循环机制的实现是很相似的。接下来我们就简单分析里面的线程的消息循环的实现,主要就是分析类的构造函数成员函数和的实现。类的构造函数的实现如下所示,这个函数定义在文件中。类的构造函数主要就是调用成员函数初始化,如下所示......”。
8、“.....类的成员函数首先是创创建个管道,并且分别将该管道的读端和写端文件描述符保存在成员变量和中。接下来,类的成员函数创建了个里面的,保存在成员变量中,并且通过提供的函数指定该是用来监控文件描述的和事件的,同时指定上述事件发生时,就调用类的静态成员函数。这相当于是创建了个里面的。再接下来,类的成员函数通过提供的函数创建了个......”。
9、“.....最后,类的成员函数通过调用提供函数将前面创建的加入到前面创建的里面去,以便可以对指定的事件进行监控。这相当于是调用了提供的函数。接下来,我们继续分析类的成员函数的实现,如下所示,,,,这个函数定义在文件中。与类的成员函数相比,类的成员函数的执行流程是相似的,主要区别在于类通过调用提供的函数使得线程进入睡眠状态......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。