В Java термин "процесс" обычно относится к отдельной программе, выполняющейся в операционной системе и имеющей свой уникальный идентификатор. Каждый процесс имеет свою собственную область оперативной памяти и запускается независимо от других процессов.
"Поток" (или "Thread") - это легковесный подпроцесс, который работает в рамках процесса и обладает своим собственным стеком вызовов и выполнением инструкций. Множество потоков может работать параллельно в рамках одного процесса и совместно использовать ресурсы, такие как память и CPU, что позволяет эффективнее использовать вычислительные ресурсы компьютера. Потоки могут работать дайнамически, т.е. создаваться и завершаться в процессе работы приложения.
В Java потоки могут быть созданы путем наследования от класса Thread или через реализацию интерфейса Runnable. При запуске потока метод run() становится активным и выполняется в отдельном потоке параллельно с другими потоками в рамках процесса.
Например, следующий код можно использовать для создания потока в Java:
Thread myThread = new MyThread();
myThread.start();
где MyThread - пользовательский класс, унаследованный от класса Thread или реализующий интерфейс Runnable.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov