Публикации по теме 'threads'


Подтема в темах — ThreadLocal
Если вы читаете эту статью, вы должны иметь базовое представление о концепции потоков. Если нет, не волнуйтесь, вы можете прочитать мою предыдущую статью Многопоточность — простое объяснение основ В этой статье я попытаюсь дать краткий обзор многопоточности, а также где ее реализовать и как… среда.com Теперь, когда мы знаем о потоках и о том, как их создавать, мы можем изучить некоторые термины, используемые в концепции потоков. Один..

Понимание поведения фоновых потоков в скриптах Python
Введение При работе со сценариями Python, включающими фоновые задачи, важно понимать, как ведут себя эти фоновые потоки, особенно когда вы останавливаете исходный сценарий Python. В Python потоки могут быть либо потоками-демоном, либо потоками, не являющимися демонами, и их поведение после завершения сценария различается. Демонические потоки Потоки демона — это тип потока, который автоматически завершается при завершении основного сценария Python. Они предназначены не для..

Как JavaScript реализует неблокирующий ввод-вывод, используя асинхронное ожидание, обратные вызовы и цикл обработки событий
В этой статье обсуждается, как JavaScript не блокирует поток в ожидании события ввода-вывода. Это продолжение моей предыдущей статьи: Почему простое использование async-await и промисов не делает ваш код асинхронным (JavaScript) , в которой объясняется, что такое блокировка потока и ее различные типы. Давайте сначала рассмотрим пример блокировки ввода-вывода. Чтение/запись с/на жесткий диск являются операциями ввода/вывода. Я создал файл «ice.txt» с содержимым «доставлено..

Процесс против потока: какой из них лучше справляется с задачами?
Неудивительно, почему так много программистов и инженеров изо всех сил пытаются решить, использовать ли потоки или процессы в своих приложениях. По этой причине я решил написать статью, в которой подробно расскажу об основных отличиях и преимуществах каждой из этих программных функций. Чтобы теория была менее скучной, я воспользуюсь реальным примером, на котором мы сможем вблизи увидеть, как работают потоки и процессы. В вычислениях есть два типа параллельного программирования:..

Поток кода
На этой неделе я впервые создал новый поток в Ruby. Хотя я и раньше слышал термин «поток», мне не приходилось много думать об этом с точки зрения явной работы, потому что большая часть моего кода была создана для синхронного выполнения. Это может начать описывать мою проблему, прежде чем я углублюсь в нее. В настоящее время я работаю над приложением чата, которое удаляет все чаты и сообщения, связанные с пользователем, когда он или она выходит из системы. Поскольку пользователь не может..

Оптимизация многозадачности рейка
Вступление В предыдущей статье я говорил о том, как rake реализует обещания для улучшения потоковой передачи при одновременном выполнении задач. Сегодня я расскажу о небольшой, но очень интересной оптимизации, которую я сделал, чтобы ускорить процесс. Числа Сначала давайте займемся математикой Учитывая 12 задач, каждая из которых занимает около 1 секунды, как быстро все они должны завершиться при заданном количестве потоков N? Ответ: 12 с / н. Это то, что мы должны увидеть при..

AsyncIO, многопоточность и многопроцессорность в Python
AsyncIO - относительно новая структура для достижения параллелизма в Python. В этой статье я сравню его с традиционными методами, такими как многопоточность и многопроцессорность. Прежде чем перейти к примерам, я добавлю несколько обновлений о параллелизме в python. CPython применяет GIL (глобальную блокировку интерпретатора), которая не позволяет в полной мере использовать многопоточность. Каждый поток должен получить эту взаимоисключающую блокировку перед запуском любого..