美文网首页
使用率超高的多线程开发

使用率超高的多线程开发

作者: timber_wu | 来源:发表于2016-09-04 12:20 被阅读11次

    多线程的那些事

    • 何为线程、多线程
      线程:比进程更小的执行单元,每个进程可能有多条线程,线程需要放在一个 进程中才能执行,线程由程序负责管理,而进程则由系统进行调度!
      多线程的理解并行执行多个条指令,将CPU时间片按照调度算法分配给各个 线程,实际上是分时执行的,只是这个切换的时间很短,用户感觉到"同时"而已!
    • 为什么要使用多线程
      ANR(Application Not Responding)
    • 什么时候使用多线程
    • Android中的多线程

    如何使用多线程

    • Main/UI Thread和Worker Thread
    • Main/UI Thread和Worker Thread之间的通信
    • Thread/Runnable
    • 线程安全
      Activity.runOnUiThread(Runnable)
      //更新UI 只有在Acitivity中才能使用
      TestActivity.this.runOnUiThread(new Runnable() {
      @Override public void run() {
      textView.setText("经过千辛万苦终于找到你了!");
      } });
      View.post(Runnable)在onAttachedToWindow(onResume在其前面后的生命周期使用才会有效---View.post()这个方法就必须等onAttachedToWindow ()这个方法执行过了才行
      textView.post(new Runnable() {
      @Override public void run() {
      textView.setText("经过千辛万苦终于找到你了!");
      }
      });
      View.postDelayed(Runnable,long)
    • Handler
    • AsyncTask
      同步代码块(synchronized block)

    new Thread()VSThreadPooleExecutor

    • New Thread() 的弊端
      每次new Thread新建对象性能差
      线程缺乏统一管理,可能无限制新建线程,相互之间竞争,可能占用过多资源导致死机或OOM。
      缺乏更多功能,如定时执行、定期执行、线程中断。
    • ThreadPooleExecutor-线程池(线程管理者)
      引入的好处
      1)提升性能。创建和消耗对象时费CPU资源。
      2)防止内存过度消耗。控制活动线程的数量,防止并发线程过多。

    相关文章

      网友评论

          本文标题:使用率超高的多线程开发

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