Популярный вопрос на собеседовании: В чем разница между Process и Thread? Чтобы лучше понять этот вопрос, давайте сначала разберемся, что такое программа. Программа - это исполняемый файл, содержащий набор инструкций и пассивно хранящийся на диске. Одна программа может иметь несколько процессов. Например, браузер Chrome создает отдельный процесс для каждой отдельной вкладки. Процесс означает, что программа находится в процессе выполнения. Когда программа загружается в память и становится активной, она превращается в процесс. Процессу требуются некоторые важные ресурсы, такие как регистры, счетчик программ и стек. Поток - это наименьшая единица выполнения в рамках процесса. ? Взаимосвязь между программой, процессом и потоком: ? Программа содержит набор инструкций. ? Программа загружается в память. Она становится одним или несколькими выполняющимися процессами. ? Когда процесс запускается, ему выделяются память и ресурсы. Процесс может иметь один или несколько потоков. ? Основные различия между процессом и потоком: ? Процессы обычно независимы, в то время как потоки существуют как подмножества процесса. ? Каждый процесс имеет собственное пространство памяти. Потоки, принадлежащие одному процессу, делят одну и ту же память. ? Процесс — это тяжеловесная операция. На его создание и завершение требуется больше времени. ? Переключение контекста между процессами более дорогостоящее. ? @bookflow
Другие записи сообщества
Файловая система Linux ? @bookflow
Совет по java? Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс TypedSort, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде. #java ? @bookflow
Визуализация методов массивов JavaScript ?? ? @bookflow
Шпаргалка по python ? @bookflow
Шпаргалка по HTML input types
Совет по Javascript ? Знаете ли вы о способе копирования массива с заменой одного элемента?
9 лучших практик разработки микросервисов
? Java Collections
Почему PostgreSQL признан самым лбимой бд по результатам опроса разработчиков Stackoverflow? На диаграмме показано множество вариантов использования PostgreSQL - одной базы данных, которая включает в себя почти все функции необходимых разработчикам. ?OLTP (Online Transaction Processing) Мы можем использовать PostgreSQL для CRUD-операций (Create-Read-Update-Delete). ?OLAP (Online Analytical Processing) Мы можем использовать PostgreSQL для аналитической обработки. PostgreSQL основан на архитектуре ???? (Hybrid transactional/analytical processing), поэтому он может хорошо работать как с OLTP, так и с OLAP. ?FDW (Foreign Data Wrapper) FDW - это расширение, доступное в PostgreSQL, которое позволяет нам обращаться к таблице или схеме одной базы данных из другой. ?Streaming PipelineDB - это расширение PostgreSQL для высокопроизводительной агрегации временных рядов, предназначенное для работы с отчетами и аналитическими приложениями в реальном времени. ?Geospatial PostGIS - это расширитель базы данных для объектно-реляционной базы данных PostgreSQL. Он добавляет поддержку географических объектов, позволяя выполнять запросы на определение местоположения в SQL. ?Временные ряды Timescale расширяет PostgreSQL для работы с временными рядами и аналитикой. Например, разработчики могут объединять непрерывные потоки финансовых и тиковых данных с другими бизнес-данными для создания новых приложений и получения уникальных знаний. ?Распределенные таблицы CitusData масштабирует Postgres за счет распределения данных и запросов.
Шпаргалка по оконным функциям в SQL