繁体   English   中英

带有线程的Android中介模式

[英]Android mediator pattern with threads

我遇到以下问题:

我想为应用程序使用中介模式。

我有一个创造价值的生产者。 我得到了一个将值存储在队列中的介体(这是私有的,因此存在getter和setter),并通知消费者队列中有新值。 我得到了消费者,得到了有关新值的通知,得到了它并对其进行了处理...

我希望所有3个类都在自己的线程上运行。 但是我也想提高效率。

如果我理解正确的话,我的介体线程将在run()结束时被GC ...因此,我需要通过循环使其保持活动状态,不是吗? 就像while(true)一样,但这不是很有效。 有没有更好的办法? 还是我完全不正确,调解员不会被GC?

提前致谢

没错,一旦中介者对象的run()方法返回,线程将终止。 但这并不意味着调解员将被GC化; 如果存在对您的调解器对象的实时引用,则不会。 但是,如果线程退出,则调解器将不是特别有用。 while(true)循环是处理此问题的一种方法。 while(true)循环不一定效率低下。 通过在某个对象上调用wait()直到队列中出现新内容,可以很容易地工作。 该线程将处于等待状态,并且不会消耗cpu资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM