簡體   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