Androidプログラミング質問スレ Part18
■ このスレッドは過去ログ倉庫に格納されています
0077デフォルトの名無しさん
2012/02/08(水) 01:33:11.78俺はArrayBlockingQueue#take()とかよく使う。
1.メインスレッド側のメンバー定数としてArrayBlockingQueueのインスタンスを作成
2.バックグラウンドスレッドはコンストラクタの引数とかでキューの参照を受け取り、メンバー変数に格納
3.スレッド処理が終了した時点でArrayBlockingQueue#offerとか使って処理結果をメインスレッドにPUSH
4.メインスレッドはArrayBlockingQueue#take()で待機していて、処理結果が返ると直ちに復帰
実際はtakeとかofferはいろいろバリエーションがあるから無限滞留とか結果渡しそびれが無いように良く考える。
■ このスレッドは過去ログ倉庫に格納されています