разводить 2 параллельных конкурентных потока. Каждый поток может случайным образом быть позже или раньше другого. Изза того что оба потока используют message для вызова изменений UI, возникает Exception когда оба потока одновременно хотят изменить UI. В итоге я логически понял, приоритет какого потока выше. У потока с более низким приоритетом поставил try/catch. В итоге когда возникает конкуренция, более низкоприоритетный вываливается в exception. Это было временное решение. Подскажите как правильно их разграничить по конкуренции за UI ?
Что-то ты нагородил там. Изменения UI происходят все с одного потока - main
один поток сигнализирует о том, что идет запрос на сервер. Другой поток этот сигнал аннулирует с экрана. Но когда между этими 2 потоками прошло 0 секунд, они начинают взаимно блокировать друг друга, вываливается эксепшн и на экране остается висеть предупреждение о запросе на сервер
Как один поток узнаёт, что другой закончился или начался? Зачем нужен ещё один поток, чтобы сообщить о состоянии другого потока? Что-то вы там странное делаете.
Обсуждают сегодня