У меня есть активность, которая, по сути, запускает несколько потоков, чтобы получить несколько ресурсов из сети. Я обновляю пользовательский интерфейс после получения уведомлений из этих потоков с помощью механизма ResultReceiver. фрагмент кода выглядит, как показано ниже,Android ResultReceiver в многопоточной среде
public void onReceiveResult(int resultCode, Bundle resultData){
switch(resultCode){
case 1: updateData1();
break;
case 2: updateData2();
break;
case 3: updateData3();
break;
}
As, его основной поток, который обновляет элементы пользовательского интерфейса на получение уведомлений от этих потоков, я думал, что это будет хорошая идея, чтобы сделать метод onReceiveResult синхронизируются. Любые комментарии? Есть ли что-нибудь еще, что нужно позаботиться, чтобы оно было эффективным и безопасным?
Данные уже выстроил и сигнал на поток пользовательского интерфейса. 'onReceiveResult' не будет вводиться непосредственно из других потоков с помощью механизма ResultReceiver - вызов сериализуется. Синхронизация требуется только в том случае, если вы явно вызываете обработчик из других потоков. –