Отличия процесса и потока

185
17 апреля 2018, 05:15

Стандартный вопрос практически на каждом собеседовании по Java.

Какие отличия процесса (process) и потока (thread) ?

Answer 1

Процессы и потоки связаны друг с другом, но при этом имеют существенные различия.

Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое.

Поток использует то же самое пространства стека, что и процесс, а множество потоков совместно используют данные своих состояний. Как правило, каждый поток может работать (читать и писать) с одной и той же областью памяти, в отличие от процессов, которые не могут просто так получить доступ к памяти другого процесса. У каждого потока есть собственные регистры и собственный стек, но другие потоки могут их использовать.

Поток — определенный способ выполнения процесса. Когда один поток изменяет ресурс процесса, это изменение сразу же становится видно другим потокам этого процесса.

Источник

Первая ссылка в гугле. Неужели это так трудно.

READ ALSO
Помогите обдумать логику для RecyclerView adapter

Помогите обдумать логику для RecyclerView adapter

Здравствуйте, у меня имеется RecyclerView который выводит списком какое нибудь число и дату, бывают ситуации когда подряд идут несколько строк...

175
вопросы вместо букв

вопросы вместо букв

Вместо кириллицы отображаются вопросыВот способ соединения с БД:

365