Junior — Middle
92
Ποια είναι η διαφορά μεταξύ της κλήσης της μεθόδου run και της μεθόδου start σε ένα νήμα στη Java;
Εταιρείες όπου ρωτήθηκαν
Απάντηση από AI
sobes.tech AI
Метод start() у потока в Java запускает новый поток исполнения и вызывает метод run() в этом новом потоке. То есть, когда вы вызываете start(), создаётся отдельный поток, и код внутри run() выполняется параллельно с основным.
Если же вызвать метод run() напрямую, то он будет выполнен в текущем (основном) потоке, без создания нового.
Пример:
Thread thread = new Thread(() -> System.out.println("Выполняется в новом потоке"));
thread.start(); // Запускает новый поток
thread.run(); // Выполняется в текущем потоке, как обычный метод