Я работаю с потоками в своем проекте. Среди прочих потоков, в двух разных классах создается две HandlerThread таким вот образом:
HandlerThread thread = new HandlerThread("ServiceThread", Process.THREAD_PRIORITY_DEFAULT);
Дальше они стартуются: thread.start();, и я использую их луперы.
И только что я обнаружил, что они создаются с абсолютно одинаковыми именами (первый параметр в конструкторе - имя).
Мой вопрос состоит в том, могут ли быть проблемы из за того, что у потоков одинаковые имена? Являются ли имена какими-то идентификаторами для потоков?
Ответ
Не будет проблем.
При создании нового HandlerThread вызывается конструктор:
public HandlerThread(String name, int priority) {
super(name);
mPriority = priority;
}
Идем вглубь и видим
if (threadName == null) {
this.name = "Thread-" + id;
} else {
this.name = threadName
}
Что и есть практическим подтверждением написанного в Javadoc
Каждый поток имеет имя в целях идентификации. Более чем один поток может иметь такое же имя . Если имя не указано , когда создается поток, новое имя генерируется для него.
Комментариев нет:
Отправить комментарий