LINUX.ORG.RU

Multithreading


23

0

Всего сообщений: 4

SObjectizer-5.6.0: новая мажорная версия акторного фреймворка для C++

Группа Разработка

SObjectizer — это относительно небольшой фреймворк для упрощения разработки сложных многопоточных приложений на C++. SObjectizer позволяет разработчику строить свои программы на базе асинхронного обмена сообщениями с использованием таких подходов, как Actor Model, Publish-Subscribe и CSP. Это открытый проект под лицензией BSD-3-CLAUSE. Краткое впечатление о SObjectizer можно составить на основании вот этой презентации.

Версия 5.6.0 является первым мажорным релизом новой ветки SObjectizer-5.6. Что означает также завершение развития ветки SObjectizer-5.5, которая развивалась более четырех лет.

( читать дальше... )

>>> Подробности

 , , ,

eao197
()

Новая версия библиотеки plibsys 0.0.4

Группа Open Source

Вышла новая версия библиотеки plibsys 0.0.4. plibsys - это системная библиотека, написанная на С, и портированная на большое количество систем и компиляторов. Библиотека обеспечивает работу с потоками, межпроцессное взаимодействие, сокеты и много чего полезного. Так как ранее она уже была представлена здесь сообществу, то подробное описание можно прочитать из соответствующей новости.

Во-первых, хочется выразить благодарность ЛОРу за конструктивную критику и пожелания. Это помогает переосмысливать некоторые вещи. Во-вторых, спасибо тем, кто создал пакеты под разные системы и дистрибутивы, помог с распространением. И спасибо тем, кто помогал в некоторых моментах с тестированием (особенно на ПК «Эльбрус»).

Теперь к изменениям в новой версии. Возможно, некоторые из изменений уже были отражены в прошлой новости частично, но я дам полный список для простоты.

( Что же изменилось за прошедший год? )

>>> Репозиторий на GitHub

 , , , ,

HardCode
()

plibsys — кросс-платформенная системная библиотека на C

Группа Open Source

Недавно ко мне обратились с вопросом, не хочу ли я написать новость об одной из разрабатываемых библиотек (plibsys). В принципе, я не против, поэтому эксклюзивно для LOR.

Что такое plibsys?

plibsys — это кросс-платформенная системная библиотека, написанная на чистом C. Основной упор был изначально сделан на портируемость и поддержку широкого спектра компиляторов. Для достижения этих целей у библиотеки отсутствуют (небольшим исключением является SCO OpenServer 5 ввиду отсутствия на ней потоков) какие-либо зависимости — используются только те вызовы, которые доступны в целевой ОС. Также никакого ассемблера и использования прочих недокументированных возможностей. Для сборки нужен только рабочий компилятор и CMake.

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

  • Платформо-независимые типы данных
  • Потоки и средства синхронизации: мьютексы, условные переменные, блокировки чтения-записи, спинлоки, атомарные операции
  • Межпроцессное взаимодействие: семафоры, разделяемая память, кольцевой буфер
  • Сокеты (UDP, TCP) с поддержкой IPv4 и IPv6
  • Хэш-функции: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
  • Бинарные деревья: несбалансированное, красно-черное, АВЛ
  • Загрузка разделяемых библиотек
  • Работа с памятью: mmap, установка собственного аллокатора
  • Замер времени исполнения (по возможности — в высоком разрешении)
  • Базовая работа с файлами и директориями
  • Парсер файлов INI
  • Макросы для определения архитектуры ЦПУ, ОС и компилятора
  • Различные вспомогательные структуры данных типа связанного списка, хэш-таблицы, обработка строк

На все есть документация.

( читать дальше... )

>>> Подробности

 , , ,

HardCode
()

Кэй Хорстманн дал интервью

Группа Java

Кэй Хорстманн http://horstmann.com/ дал интервью Janice J. Heiss. В нем он в свойственном ему легкой, непринужденной манере рассказал:

Почему не стоит заниматься оптимизацией программы прежде чем вы прошлись по ней профайлером,
Что не так и неправильно делают кодеры, воплощающие сервера приложений и спецификации Java Server Faces
Проблемы реализации потоков в Java
Пример применения замыканий в реальной разработке
Самая большая ошибка, которую делают преподаватели компьютерных специальностей
Зачем нам так много скриптовых языков программирования

>>> Подробности

 closures, , , ,

anonymous
()