Rapide communication inter-thread mécanisme
J'ai besoin d'un rapide communication inter-thread mécanisme pour le passage de travail (void*
) à partir de TBB tâches de plusieurs travailleurs qui sont en cours d'exécution/opérations de blocage.
Actuellement, je suis à la recherche dans l'aide de pipe()
+libevent
. Est-il plus rapide et plus élégante alternative pour une utilisation avec la technologie Intel Threading Building Blocks?
Des variables globales?
OriginalL'auteur Stan | 2010-03-08
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de l'utiliser juste de mémoire en standard avec les mutex les verrous depuis threads partagent le même espace mémoire. La pipe()+libevent solution semble la plus appropriée pour la communication interprocessus où chaque processus a une mémoire différente de l'espace.
OriginalL'auteur Jason B
Découvrez Mise en œuvre d'un Thread-Safe File d'attente à l'aide de Variables de Condition. Il utilise une file d'attente STL, un mutex, et une variable de condition afin de faciliter la communication inter-thread. (Je ne sais pas si c'est applicable à Intel Threading Building Blocks, mais depuis TBB n'est pas mentionné dans la question/le titre, je suppose que les autres vont finir ici comme je l'ai fait -- à la recherche pour une communication inter-thread mécanisme qui n'est pas de la CIB. Et cet article peut vous aider, comme il m'a aidé.)
OriginalL'auteur Mark Rajcok
Prendre un coup d'oeil à l'impulsion de verrouillage libre et thread-safe file d'attente. Très facile à utiliser et fonctionne vraiment bien. Je l'ai utilisé avec des threads s'exécutant sur des noyaux d'interrogation de la file d'attente de travail.
http://www.boost.org/doc/libs/1_55_0/doc/html/lockfree.html
OriginalL'auteur Col