zoukankan      html  css  js  c++  java
  • Handler:多线程通信机制

    相关资料:

    https://blog.csdn.net/carson_ho/article/details/80305411

    https://blog.csdn.net/carson_ho/article/details/80175876

    https://www.bilibili.com/video/BV1j54y1H7Kj?from=search&seid=6749523411759852997

    相关面试题:

    https://blog.csdn.net/weixin_44819566/article/details/115619339


    一.价值

    用于在子线程和主线程(UI)线程之间进行通信的,一般将一些耗时操作放在子线程中执行,当产生一些UI更新数据,可通过handler将信息从子线程传递到主线程,从而更新UI。

    问题:handler 实质就是线程之间的通信?其他的方式不可以吗,为什么非要弄个Handler来处理?

    注意:资料中说可以解决UI更新并发操作的问题?不太明白这是啥?

    白话:这个任务执行时间太长了,子线程你先干着,完成之后,你子线程发送到messageQueue 中,然后我主线程定期去看,如果你完成后了,我就接着你的做,

    二. 架构图

     该套系统,部署在主线程中。

    问题:子线程是如何拿到主线程中的handler ,从而发送消息的?

    三. 代码案例

    子线程执行任务,并发送message

    主线程中的handler接受到消息,并处理

    四. handler post 方法详解

    相关资料:https://blog.csdn.net/lfdfhl/article/details/40016085

    实际上是对handler.sendMessage 方法的封装,从程序上看,好像就在子线程中完成了UI的更新

    问题: 有sendMessage方法,为什么还要有个post方法?

    答: https://cloud.tencent.com/developer/article/1727098

  • 相关阅读:
    phpStudy mysql升级至5.7
    apache 子域名自动与子域名同名的目录绑定
    js 移动端获取当前用户的经纬度
    PHPStudy环境下搭建composer
    MySQL sock 文件丢失被删除解决方法
    Nginx+Php-fpm运行原理详解
    服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
    php 下载文件/直接下载数据内容
    window 克隆复制当前窗口
    staff
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/15115061.html
Copyright © 2011-2022 走看看