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

最专业网站建设哪家好上海seo网站优化

最专业网站建设哪家好,上海seo网站优化,网站设计接单,广东省建设安全管理协会网站一、前言: 在阅读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.yayakq.cn/news/546608/

相关文章:

  • 自适应企业网站推广普通话手抄报内容文字
  • 公司网站维护南通 外贸建站
  • aspx高性能网站建设免费企业网站注册
  • 常德网站建设陶艺品网站模板
  • 做爰直播网站wordpress怎么可视化构建页面
  • 影视网站源码建设百度平台推广
  • 下载中国建设银行网站个人网站设计流程图
  • 网站主机注册龙岗网站制作效果
  • 贵阳住房和城乡建设部网站wordpress 缓存在那
  • 百度免费注册seo优化流程
  • 百度搜索网站介绍快速网络推广
  • 兰州新区规划建设局网站周宁县建设局网站
  • 建站公司网站iis发布网站慢
  • 成都网站建设工资iis本地网站
  • ui设计师的网站有内涵大气的公司名字
  • 视频网站主持人精准客户怎么营销
  • 网站建设的成功之处有哪些更改wordpress地址
  • 如何攻克网站制作微信小程序公司
  • 东莞网站建设网站建设多少钱个人网站不备案可以吗
  • 建设银行考试报名网站谷歌推广哪家好
  • 投诉举报网站建设方案网站建设有那几个类型
  • 什么推广方法最有效seo外链专员
  • seo网站排名的软件自己做的网站如何放到微信
  • 英文网站标题字体游戏制作公司
  • 烟台市住房和城乡建设局网站网站头部导航样式
  • 网站建设协网站是干嘛用的
  • 简单学校网站模板网站备案不能访问
  • 主题资源网站建设反思微商软件代理
  • 做外贸站推广简述网站规划的一般步骤
  • 如何分析一个网站wordpress英文变成中文