7 多线程机制

作者: jadefly | 来源:发表于2018-04-13 17:17 被阅读0次

1.基本多线程概念参考java基础文集

2.AnsyncTask异步任务

3.Handler消息传递机制

多线程相关概念

应用程序(Application):为了完成特定任务,用某种语言编写的一组指令集合(一组静态代码);

进程(Process):运行中的程序,系统调度与资源分配的一个独立单位,操作系统会为每个进程分配一段内存空间,

                          程序依次动态执行,经历代码加载 -> 执行 -> 执行完毕的完整过程;

线程(Thread):比进程更小的执行单元,每个进程可能有多条线程,线程需要放在一个进程中才能执行,

                        线程是由程序负责管理的,而进程则是由系统进行调度的;

多线程概念(Multithreading):并行地执行多条指令,将CPU的时间片按照调度算法,分配给各个线程,

                                               实际上是分时执行的,只是这个切换的时间很短,用户感觉是同时而已;

同步:当执行某个功能,在没有得到结果之前,一直阻塞。(即必须做完一件事再做下一件)

异步:和同步相对,执行某个功能无需等待结果就可以执行下一个,完成后会通知我们。

Android线程相关概念

MainThread 主线程(UI线程):1.应用启动时自动创建;

                                                     2.一般处理事件分发和对UI控件的处理,和用户进行交互(eg:点击事件,数据更新);

                                                     3.Android4.0之后UI线程不能访问网络资源或执行耗时操作,必须开启子线程;

WorkThread 子线程(工作线程):1.可以和主线程同时进行,把主线程分配的耗时操作在后台做完,把结果返回给主线程;

规定:1.主线程不能被阻塞 (ANR : Application Not Responding 原因:主线程中进行耗时操作,造成主线程阻塞);

           2.非主线程不能更新UI;

Android中实现异步并更新UI的方式:

            1.使用Handler,sendMessage通知UI更新;

            2.利用Activity.runOnUiThread(Runnable),传入带更新UI代码的runnable对象;

            3.使用官方封好的轻量级异步类AsyncTask,是对Thread+Handler良好的封装;

            (进度可控,但只适合简单异步操作,一般项目中还是会用第三方异步网络框架)

            4.事物总线(EventBus?)

android中常见需要异步的操作:网络操作,图片加载,数据传输等。

相关文章

  • 7 多线程机制

    1.基本多线程概念参考java基础文集 2.AnsyncTask异步任务 3.Handler消息传递机制 多线程相...

  • android Handler内存泄漏的分析与解决

    android 多线程学习7:Handler消息处理机制 为什么Handler会造成内存泄漏? Since thi...

  • 多线程系列第(一)篇---基本概念

    多线程概念 多线程就是一个进程中多个任务“同时”执行Java中的多线程是一种抢占式的机制而不是分时机制抢占式机制指...

  • Android多线程消息处理机制

    Android多线程消息处理机制(一) Looper、Thread专题 Android多线程消息处理机制(二) L...

  • iOS面试-基础

    [toc] Runloop AutoReleasePool 多线程 响应者链 消息响应机制 消息转发机制 iOS内...

  • Python 3 多线程编程

    本文主要基于python 3.5实现多线程编程 1. 创建多线程 2. 多线程间的同步,lock机制 3. que...

  • java 多线程总结篇4——锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方...

  • JAVA锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方...

  • Android Handler学习总结

    什么是handlerhandler是Android中的消息传递机制也是多线程异步通信机制。handler 通过se...

  • Android 面试准备

    Android的系统架构 Android Handler机制 Android 多线程-----AsyncTask详...

网友评论

    本文标题:7 多线程机制

    本文链接:https://www.haomeiwen.com/subject/iavejxtx.html