当前位置: 首页 > news >正文

邯郸网站开发超级外链吧外链代发

邯郸网站开发,超级外链吧外链代发,房产中介网站建设,网站的种类一、前言: 在阅读AOSP代码过程中,我们经常会看到Thread子类重写两个方法:readyToRun和threadLoop,不清楚的同学,可能在这儿连调用逻辑都搞不清楚了,因为找不到谁调用了它。我这儿先不去深究Thread内部逻辑…

一、前言:

在阅读AOSP代码过程中,我们经常会看到Thread子类重写两个方法:readyToRunthreadLoop,不清楚的同学,可能在这儿连调用逻辑都搞不清楚了,因为找不到谁调用了它。我这儿先不去深究Thread内部逻辑,只阐述调用时机。

二、调用时机:

当一个类继承了Thread类后,threadLoop方法和readyToRun方法的执行时机如下:

readyToRun方法:

readyToRun方法通常在Thread对象被启动之后,但在threadLoop方法开始执行之前被调用。
readyToRun方法用于执行一些初始化操作,准备线程执行所需的资源或环境。这个方法在子类中被重写,以便在线程开始执行之前进行必要的初始化工作。
通常,readyToRun方法会在Thread对象的run方法中被调用,在run方法中会先调用readyToRun,然后再调用threadLoop方法开始线程的主要逻辑。

threadLoop方法:

threadLoop方法是Thread类中的一个虚函数,用于定义线程的主要逻辑。子类需要继承Thread类并重写threadLoop方法,以实现线程的具体行为。
threadLoop方法定义了线程的主要执行逻辑,包括线程的循环操作,处理消息或事件等。
在Thread对象启动后,线程会执行threadLoop方法中定义的逻辑,直到线程被停止或销毁。

小结:

总的来说,readyToRun方法用于线程启动前的初始化工作,而threadLoop方法则定义了线程的主要执行逻辑。readyToRun方法在线程启动时执行,而threadLoop方法则在readyToRun方法执行完毕后开始运行,成为线程的主要执行体。

三、应用实例:

    class TimeCheckThread : public Thread {public:explicit TimeCheckThread(BootAnimation* bootAnimation);virtual ~TimeCheckThread();private:virtual status_t    readyToRun();virtual bool        threadLoop();bool                doThreadLoop();void                addTimeDirWatch();int mInotifyFd;int mSystemWd;int mTimeWd;BootAnimation* mBootAnimation;};

看到上面AOSP的一段代码,TimeCheckThread 类就继承自Thread,那么就将自己的初始化代码放到
readyToRun,然后将线程主逻辑放到threadLoop。如下:

status_t BootAnimation::TimeCheckThread::readyToRun() {mInotifyFd = inotify_init();if (mInotifyFd < 0) {SLOGE("Could not initialize inotify fd");return NO_INIT;}mSystemWd = inotify_add_watch(mInotifyFd, SYSTEM_DATA_DIR_PATH, IN_CREATE | IN_ATTRIB);if (mSystemWd < 0) {close(mInotifyFd);mInotifyFd = -1;SLOGE("Could not add watch for %s", SYSTEM_DATA_DIR_PATH);return NO_INIT;}addTimeDirWatch();if (mBootAnimation->updateIsTimeAccurate()) {close(mInotifyFd);mInotifyFd = -1;return ALREADY_EXISTS;}return NO_ERROR;
}

还有:

bool BootAnimation::TimeCheckThread::threadLoop() {bool shouldLoop = doThreadLoop() && !mBootAnimation->mTimeIsAccurate&& mBootAnimation->mClockEnabled;if (!shouldLoop) {close(mInotifyFd);mInotifyFd = -1;}return shouldLoop;
}
http://www.tj-hxxt.cn/news/104871.html

相关文章:

  • 网站建设与制作教程北华大学百度seo策略
  • 网站制作的管理南京seo整站优化技术
  • 哪个网站上做ppt比较好看的图片互联网广告营销方案
  • 织梦教育咨询企业网站模板广告投放是做什么的
  • 让网站打开更快seo经理
  • 做一家开发网站的公司简介网站开发是做什么的
  • 网站排名做不上去搜索引擎优化实验报告
  • ecshop商城网站建设seo模拟点击工具
  • 沈阳手机网站制作深圳整站seo
  • woocommerce做零售网站青岛网站排名公司
  • 微信开放平台网站应用网站模板之家
  • 怎样给网站做排名优化营销策略国内外文献综述
  • 王也道长头像河南网站seo推广
  • 网站面向哪些地区做优化容易比较好用的搜索引擎
  • 公司做网站好不好现场直播的视频
  • 网站qq访客记录原理百度收录查询接口
  • 个人网站设计毕业论文最新网络营销策划是什么
  • 做网站要不要营业执照宁波优化网页基本流程
  • 网站开发 安全合同线上推广产品
  • 外贸网站仿牌主机网站收录查询方法
  • 南宁网站建设优化案例短视频seo搜索优化
  • 化妆品网站建设方案参考消息今天新闻
  • 网站负责人核验现场拍摄照片电子件品牌公关
  • 网络空间安全专业大学排名seo网络优化教程
  • 网站提供服务商app 推广
  • 绍兴做网站选哪家西安做推广优化的公司
  • 中铁建设集团有限公司有多少个局seo资源网站排名
  • 网站空间200m运营推广的方式和渠道有哪些
  • 深圳知名网站如何给企业做网络推广
  • 做网站会提供源代码首页百度