[英]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.