Я могу создать класс, который расширяет Thread и переопределяет метод run с помощью цикла. Затем я запускаю его с помощью myThread.start(), который создает поток ОС и выполняет мой run(). Это все хорошо.Android Информация о файле
Однако я не совсем понимаю детали. Я позабочусь об этом, используя тестовый код, когда я получу шанс, но до этого никто не может ответить на эти вопросы:
Q1. Когда конструктор выполняется, предположительно, когда объявлен myThread, или при запуске()?
Q2. Что происходит, когда мой код run() завершается? Есть ли способ заставить его работать снова в том же потоке (т. Е. Не потерять все значения переменных потока, определенные в классе) Предположительно, вызов start() может создать новый поток os?
Q3. Предположительно просто звоню myThread.run() будет выполнять мой бег() в контексте текущей деятельности, не MyThread, в этом случае, как он может получить доступ к переменным потоков?)
-Frink
Рассмотрите возможность использования интерфейса «Runnable» в своем собственном классе, а не расширения класса «Thread». Обычно это помогает понять, что происходит дальше. – ob1