Решил посмотреть как работает метод start(). Не нашел ни одного упоминания о методе run().
Cледовательно вопрос: Каким образом, при вызове start() срабатывает метод run()?
public synchronized void start() {
if (threadStatus != 0)
throw new IllegalThreadStateException();
group.add(this);
boolean started = false;
try {
start0();
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) { }
}
}
доп. инфо: Увидел строку где находится вызов нового потока, но как в этом потоке он передает на выполнение содержимое run() - я не увидел. Может все на поверхности, но не знаю... сам не вижу связь между start() и run(), кроме как исключительно с точки зрения теории.
Врядли вы увидите это в рамках JRE. Потоками управляет JVM(будучи сама написанная на C++, если я ничего не путаю), она создает поток используя ресурсы ОС, и уже в рамках потока созданного ОС, прокидывает управление интерфейсу Runnable
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Почему в методе main в языке C в роле аргументов принимаются argc и argv, а в Java - args? Как расшифровывается эта короткая форма или почему она именно...
Есть таблица на 30 и более полейЯ хочу разделить данную таблицу на несколько классов и в каждом классе по 5 полей, чтобы удобней было работать