multithreading

  • ХабрахабрФото Здоровая конкуренция в GO. Главное не перехитрить самого себя

    Здоровая конкуренция в GO. Главное не перехитрить самого себя

    Несколько лет назад я прочитал статью о параллелизации в GO и ничего не понял – я тогда только начинал программировать на этом языке. Но размышления автора мне очень понравились – они подкреплялись бэнчмарками, что было довольно убедительно. Автор игрался c параметром GOMAXPROCS и показал, что увеличение этого параметра не всегда приводит к увеличению производительности. Под конец статьи он подобрал такое…

    Читать далее »
  • ХабрахабрФото Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?

    Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?

    Вы когда-нибудь задумывались, какой из фреймворков для многопоточки самый быстрый? Я вроде и знал ответ, но задумывался периодически. В определённый момент сама судьба просто-напросто заставила меня взять и проверить. Так что если вам тоже всегда было это интересно, то я постарался протестировать, сравнить и предоставить результаты для вас.  Задача Для начала разберёмся, а для чего вообще я этим занялся. Передо…

    Читать далее »
  • ХабрахабрФото Игровой real-time сервер простыми словами: теория, архитектура на Python, оптимизация, автомасштабирование в AWS

    Игровой real-time сервер простыми словами: теория, архитектура на Python, оптимизация, автомасштабирование в AWS

    На кого рассчитана данная статья Данная статья рассчитана на всех интересующихся, т.к. по большей части материал будет повествоваться в упрощенном абстрактном виде (схемы, картинки) в угоду легкому пониманию, без кучи кода. Будет обсуждаться проблема, какие были способы её решить и какой выбрали мы. Любая конструктивная критика касательно принятых нами решений и предложения по улучшению материала приветствуется в комментариях. В чём…

    Читать далее »
  • ХабрахабрФото Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore

    Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore

    Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.Это мой конспект, если хотите. На все источники, откуда черпалась информация, предоставлены ссылки в конце статьи. Статья будет полезна тем, кто изучает или повторяет основы…

    Читать далее »
  • ХабрахабрФото Холостые циклы в Java

    Холостые циклы в Java

    Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не менее, тема видится интересной и по ней есть что сказать, так что добро пожаловать! Исходный код примеров доступен здесь. Начнём с определения. На мой вкус русское "холостой цикл" (или…

    Читать далее »
  • ХабрахабрФото Примитивы синхронизации в JavaScript: cемафоры и хоккей

    Примитивы синхронизации в JavaScript: cемафоры и хоккей

    На дворе стоит двадцать второй год и все основные среды исполнения JavaScript уже вовсю поддерживают доступ к потокам. Причем, в отличие от языков с глобальной блокировкой интерпретатора, вроде Python и Ruby, где для параллельного выполнения задач рекомендуется запускать отдельные процессы, в JS это именно потоки с возможностью использования разделяемой памяти, а также всеми достоинствами и недостатками такой свободы. Конечно, есть…

    Читать далее »
  • ХабрахабрФото Сравнение виртуальных и обычных потоков в Java

    Сравнение виртуальных и обычных потоков в Java

    Я люблю стректрейсы и понятный линейный код. И соответственно не люблю реактивщину. Все примеры будут нереактивными с последовательным понятным кодом. Примеры запускались на доступной сегодня jdk. openjdk version "19-loom" 2022-09-20 OpenJDK Runtime Environment (build 19-loom+6-625) OpenJDK 64-Bit Server VM (build 19-loom+6-625, mixed mode, sharing) Не забываем про --enable-preview флажок. В этой jdk доступны такие методы для экспериментирования с виртуальными потоками:…

    Читать далее »
  • ХабрахабрФото SObjectizer: что это, для чего это и почему это выглядит именно так? Взгляд из 2022-го

    SObjectizer: что это, для чего это и почему это выглядит именно так? Взгляд из 2022-го

    Шесть лет назад, в июне 2016-го года, вышла первая статья об инструменте, с разработкой которого я связан уже много лет. Шестилетней давности публикация дала толчок интереса к SObjectizer-у и, как я понимаю, кто-то сумел попробовать этот инструмент в деле (или собрался попробовать) именно благодаря той статье. Поскольку за прошедшее время SObjectizer несколько изменился, то я подумал, что не помешало бы…

    Читать далее »
  • ХабрахабрФото Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

    Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

    Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором. Цель и вебинара и статьи - дать начинающим представление о тех понятиях, которые вынесены в заголовок, чтобы помочь избежать повсеместной путаницы, сопровождающей эти темы. Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической…

    Читать далее »
  • ХабрахабрФото Отменяем операции правильно на примере корутин

    Отменяем операции правильно на примере корутин

    Всем привет! Меня зовут Павел, я Android-разработчик в Delivery Club. Моя команда разрабатывает функциональность доставки продуктов из магазинов. Я расскажу о подходе к написанию кода, подразумевающем, что любые долгие операции могут быть отменены. На примере корутин рассмотрим сферы применения такого подхода. Сначала абстрактный пример Пусть в компании есть менеджер, который приоритизирует задачи и раздаёт их разработчикам. Однажды в начале спринта…

    Читать далее »


Кнопка «Наверх»