想象一下,我有订阅者在监听某个发布者。我的发布者有一个订阅者指针的容器。在我的void detach(ISubscriber *)中,我不会锁定订阅者列表,而是为该订阅者“空”指针,因为没有更好的词。
//My container in the publisher.在执行第4行之前,另一个线程将订阅者设为空。
根据我的理解,点对点是队列实现,在队列中最多只能有一个消费者订阅,并且只能由该消费者消费。生产者和消费者都不知道每个other.Queue都是托管在消息代理上的,在我的例子中是Apache active MQ。队列可以在消息发布前由生产者创建(也可以通过控制台提前创建)。在发布/订阅模型的情况下,除了我们使用主题而不是queue.In这个模型之外,它几乎与PointToPoint相同,在主题上可以<
我的问题非常接近Java通知/观察者设计模式。我做过不同的java / Android编程。我想了解的一件事是publisher如何知道实现给定接口的类是什么。例如,在android中,当摄像头准备就绪时,如果你实现了一个特定的接口,就会调用一个方法。android如何在打开摄像头时调用此方法,而不向android注册我的类。android know that there is class //mydevice which is implementing my in
让我给你一个简单的例子来说明我的问题。UserStorageService是处理来自CoreData的读写数据的另一个ObervableObject。
使用这种方法,我可以很容易地更改我在应用程序中获取数据的方法。在我的UserRepository.swift类中,我创建了一个UserStorageService的@StateObject实例以及一个@Published属性users,它将在我的视图模型中用作用户的真相来源userStorageService.add(data: data