美文网首页
Observable 的线程同步

Observable 的线程同步

作者: 不过围城PK | 来源:发表于2019-02-15 17:54 被阅读0次

package

java.util

class

Observer // 观察者
Observable // 被观察者

Observer 接口只有一个方法,当有被观察的对象发生变化的时候执行该方法:

void update(Observable o, Object arg);

Observable与Observer是一对多的关系,也很好理解,因为可以多个对象观察一个对象,例如多个学生观察老师,当老师问问题的时候,每个学生都会做出相应的反馈。
实际编程中,需要实现Observer接口,并扩展Observable来进行相应的操作。
需要注意的是要在Observable发生变化的时候执行setChanged(),才会通知Observer。
Observable保存了观察者的集合,在不同的线程中对Observable进行操作的时候,会导致通知Observer发生紊乱,例如某个Observer已经被删除了,但是因为没有进行同步,依然通知了该Observer。

 private Vector<Observer> obs;
  1. 使用线程安全的Vector保存Observer
  2. 在对Observer集合进行操作之前都要进行同步

相关文章

  • Observable 的线程同步

    package class Observer 接口只有一个方法,当有被观察的对象发生变化的时候执行该方法: Obs...

  • Android - thirdlib - RxJava

    关键字 同步,异步,事件流,上游,下游,线程调度,操作符,背压,Hot/Cold Observable(电台/CD...

  • OpenMP多线程——Parallel for

    多线程——线程同步 数据竞争问题 线程互斥同步——critical 线程互斥同步——atmoic 线程互斥同步——...

  • iOS线程同步

    iOS线程同步 iOS线程同步

  • 在正确的线程上使用Observable【译】

    GitHub 博客:在正确的线程上使用Observable【译】

  • 线程的基本语法

    线程同步[解决线程安全问题] 解决线程安全问题 线程同步方式一:同步代码 语法基本 synchronized (同...

  • iOS多线程小结

    同步异步串行并行 同步串行:不开启线程 同步并行:不开启线程 异步串行:最多开启一个线程 异步并行:开启线程 同步...

  • rxjava源码解析

    线程切换原理 案例 subscribeOn切换子线程 先看subscribe的执行,最后会执行Observable...

  • 第二章 对象及变量的并发访问

    线程同步 只有线程间有共享资源时才需要考虑线程同步。实例的成员属性需要考虑线程同步,方法中的临时变量则是线程安全的...

  • [C# 线程处理系列]专题四:线程同步

    目录: 一、线程同步概述 二、线程同步的使用 三 、总结 一、线程同步概述 前面的文章都是讲创建多线程来实现让我们...

网友评论

      本文标题:Observable 的线程同步

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