Eyesscale/Lunchbox: Votre boîte à outils, puisque le déjeuner gratuit est terminé: une bibliothèque C ++ pour la programmation multi-threaded

Bienvenue dans Lunchbox, une bibliothèque C++ pour la programmation multi-threaded. Lunchbox a été
anciennement connu sous le nom eq::base ou co::base, la base pour le
Cadre de rendu parallèle d’égaliseur
et la bibliothèque du réseau Collage. C’est vrai
destiné à tous les développeurs d’applications créant des performances multi-threaded
Programmes.

Lla
La documentation api peut être
trouvé sur eyescale.github.io. Comme pour toute ouverture
projet source, le code source disponible, en particulier le
les tests unitaires fournissent un
référence pour le développement d’applications.

Les questions techniques peuvent être affichées sur l’Equalizer
Liste de diffusion des développeurs,
ou directement à
info@equalizergraphics.com.

Le support commercial, le développement de logiciels personnalisés et les services de portage sont
disponible chez Eyescale. S’il vous plaît contacter
info@eyescale.ch
pour plus d’informations.

Lunchbox fournit les principales fonctionnalités suivantes pour faciliter
développement et déploiement d’applications multi threaded :

  • Abstraction du système d’exploitation: lunchbox::Atomic, lunchbox::Condition,
    lunchbox::DSO, @ref bitops « bit operations », lunchbox::daemonize(),
    (boîte à lunch::Horloge, lunchbox::MemoryMap, lunchbox::PerThread, lunchbox::RNG,
    boîte à lunch::Thread)
  • Primitives de threading haute performance : boîte à lunch ::Buffer, lunchbox::LFQueue,
    boîte à lunch::LFVector, lunchbox::Monitor, lunchbox::MTQueue,
    boîte à lunch::RequestHandler, lunchbox::SpinLock, (lunchbox::Lock,
    boîte à lunch::TimedLock)
  • Cours d’utilité: lunchbox::Any, lunchbox::Log, lunchbox::Pool,
    boîte à lunch::UnorderedIntervalSet, lunchbox::Future, lunchbox::PersistentMap,
    (boîte à lunch::ScopedMutex)
  • Changelog @ref détaillé

Lunchbox est une bibliothèque multiplateforme, conçue pour fonctionner sur n’importe quel
système d’exploitation, y compris toutes les variantes Unix et l’exploitation de Windows
Système. Il nécessite un compilateur C++11 et utilise CMake pour créer un
environnement de construction spécifique à la plate-forme. Les plates-formes suivantes et construire
les environnements sont testés :

  • Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
  • Windows: 7 (Visual Studio 2012)
  • Mac OS X: 10.9 (Makefile, Ninja)

Construire à partir de la source est aussi simple que:

git clone --recursive https://github.com/Eyescale/Lunchbox.git
mkdir Lunchbox/build
cd Lunchbox/build
cmake -GNinja -DCLONE_SUBPROJECTS=ON ..
ninja

Source link