Зачем нужен Python Global Interpreter Lock и как он работает

Python Global Interpreter Lock (GIL) — блокировка, позволяющая только одному потоку управлять интерпретатором Python. Рассмотрим, как она работает.

Обложка: Зачем нужен Python Global Interpreter Lock и как он работает

Многопоточность в Node.js

Рассказываем самое необходимое о многопоточности в Node.js v10.5.0. Потоковые воркеры, пул воркеров и worker_threads своими словами.

Обложка: Многопоточность в Node.js
Обложка: Курс «Теория и практика многопоточного программирования»

Курс «Теория и практика многопоточного программирования»

Русскоязычный курс, рассказывающий о теоретических основах написания параллельных программ, математических подходах к доказательству корректности параллельных алгоритмов, разработке неожидающих параллельных алгоритмов, ошибках в параллельных программах и способах их решения.

Обложка: Курс «Многопоточный C++»

Курс «Многопоточный C++»

Русскоязычный видеокурс, посвященный изучению основ многопоточного программирования на языке C++. Курс записан в 2015 году в рамках проекта «Техносфера Mail.ru Group». Лектор курса — Дмитрий Калугин-Балашов. В рамках курса рассматриваются следующие…

Основные принципы программирования: конкурентность

Рассказывает Аарон Краус  В третьей статье цикла «Принципы программирования» мы поговорим о конкурентности (concurrency). Конкурентность — это свойство систем (программы, сети, компьютера и т.д.), допускающее одновременное выполнение нескольких вычислительных процессов, которые могут…

Обложка: Основные принципы программирования: конкурентность
Обложка: Многопоточное программирование в Java 8. Часть третья. Атомарные переменные и конкурентные таблицы

Многопоточное программирование в Java 8. Часть третья. Атомарные переменные и конкурентные таблицы

Рассказывает Бенджамин Винтерберг, Software Engineer  Добро пожаловать в третью часть руководства по параллельному программированию в Java 8. В первой части мы рассматривали, как выполнять код параллельно с помощью потоков, задач…

Обработка исключений в многопоточных приложениях

Рассказывает Пол Шарф, автор блога genericgamedev.com В прошлом уроке мы использовали многопоточность для создания анимированных (или даже интерактивных) экранов загрузки, а также для уменьшения времени загрузки в целом. И хотя…

Обложка: Обработка исключений в многопоточных приложениях

Многопоточное программирование в Java 8. Часть первая. Параллельное выполнение кода с помощью потоков

Рассказывает Бенджамин Винтерберг, Software Engineer Добро пожаловать в первую часть руководства по параллельному программированию в Java 8. В этой части мы на простых примерах рассмотрим, как выполнять код параллельно с…

Обложка: Многопоточное программирование в Java 8. Часть первая. Параллельное выполнение кода с помощью потоков

Как выстрелить себе в ногу с помощью генератора случайных чисел

Предупредим сразу, что тут вы не найдете объяснения, как работают генераторы случайных чисел и почему полученные с их помощью числа не такие уж и случайные. Здесь будет только теория, так…

10 советов по многопоточному программированию на Java

Рассказывает Дж. Пол, автор блога Java Revisited Написание параллельного кода – непростая задача, а проверка его корректности – задача еще сложнее. Несмотря на то, что Java предоставляет обширную поддержку многопоточности…

Обложка: 10 советов по многопоточному программированию на Java

Разработайте класс, обеспечивающий блокировку так, чтобы предотвратить возникновение мертвой блокировки

Существует несколько общих способов предотвратить мертвые блокировки. Один из самых популярных — обязать процесс явно объявлять, в какой блокировке он нуждается. Тогда мы можем проверить, будет ли созданная блокировка мертвой…

Безопасность потоков в С++

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель:…

Обложка: Безопасность потоков в С++

В чем разница между потоком и процессом?

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

Обложка: В чем разница между потоком и процессом?