MyHandlerThread
- неудачная реализация HandlerThread.
Нужно это исправить.
Основная идея этого класса - изолированный поток, который выполняет некие вычисления. Клиент не хочет использовать Handler, Looper и посылать Message. Клиент хочет вызвать метод с аргументами или без. (Работу можно заменить ожиданием) Пример использования такой:
val handlerThread = MyHandlerThread()
handlerThread.doWork()
Можете вызвать метод start() где-то внутри HandlerThread.
Реализовать "считалочку". (По аналогии с детскими играми.)
Есть 2 побочных потока, которые совместно считают до 100(или до заданного значения).
Каждый поток, получая значение, прибавляет к нему рандомное число от 1 до 5. Далее сравнивает его с "целью"(100) и если цель не достигнута, то отправляет результат в другой поток. Если достигнута, то он объявляет себя победителем и завершается. Второй поток тоже должен узнать об этом и завершиться или кто-то должен его завершить.
Имя победившего потока должно отобразиться на экране в текстовом поле.