美文网首页
android 多线程——Callback

android 多线程——Callback

作者: DouMarK | 来源:发表于2019-07-25 00:46 被阅读0次

    线程同步的四种机制

    线程同步有四种机制,分别是临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)

    • 临界区:
      多个线程访问同一个共享资源的时候,有一个线程进入公共资源(任意时刻只允许一个线程访问的资源)后,其他打算访问的线程被挂起,那么这个公共资源可以被称为临界区,当在临界区被释放时,其他线程才可进入。
    • 互斥量:
      采用互斥对象机制(例如被声明 synchronized加锁的方法)
    • 信号量:
      在资源限制的线程数内,允许多个线程访问的数量。
    • 事 件:
      通过通知操作的方式来保持线程的同步,还可以方便实现对多个线程的优先级比较的操作

    Callback回调函数:

    在需要使用的时候,设置Callback接口,并在里面设置需要回调的方法:

    void interface CallBack{
      public void constant(int i);
    }
    

    在需要传参数的方法内实现

    int i  = 3;
    CallBack mCallBack;
    mCallBack.constant(i);
    

    在需要响应的方法设置:

    CallBack mCallBack = new CallBack() {
      @Override
      public void constant(int i) {
       Log.w("DDD",String.valueOf(i));
      }
    };
    

    有效利用多线程的关键是理解程序是并发执行而不是串行执行的。例如:程序中有两个子系统需要并发执行,这时候就需要利用多线程编程。

    通过对多线程的使用,可以编写出非常高效的程序。不过请注意,如果你创建太多的线程,程序执行的效率实际上是降低了,而不是提升了。

    请记住,上下文的切换开销也很重要,如果你创建了太多的线程,CPU花费在上下文的切换的时间将多于执行程序的时间!

    相关文章

      网友评论

          本文标题:android 多线程——Callback

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