Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

Фронтенд-разработчики часто испытывают неудобства при использовании асинхронных операций. Зачастую в таких ситуациях код становится слишком запутанным, особенно если приходиться выполнять несколько параллельных действий подряд. JavaScript Promises — это инструмент, который...
Читать дальше

Post thumbnail

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

Post thumbnail

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

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

Post thumbnail

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

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