2010-11-19 11 views
5

Ich denke darüber nach, welche threading-Bibliothek für ein relativ kleines C++ - Projekt verwendet werden soll, das auf x86-, x86_64- und PowerPC-Architekturen ausgeführt werden muss.decaf threads vs. boost threads vs omnithreads

Das Projekt verwendet ActiveMQ, das die Funktionen decaf :: lang :: Thread und decaf :: util :: concurrent bereitstellt. Ich habe keine Erfahrung mit dieser Bibliothek und finde keine Tutorials/Beispiele, nur Dokumentation?

Hat einer von euch/Mädchen jemals mit Decaf Threading gearbeitet? Kannst du mir deine Erfahrungen erzählen und einen kleinen Vergleich mit anderen Produkten machen, die du kennst?

Danke, bb

+0

Ich habe genau die gleiche Frage, aus genau dem gleichen Grund (mit ActiveMQ CPP-Bibliothek). Ich muss sicher sein, dass der Code in meinem OnMessage Callback synchronisiert ist. Ich nehme an, dass onMessage innerhalb eines Decaf-Threads läuft, also sollte ich Decaf-Thread-Techniken für die Synchronisation verwenden? (Wäre schön, nicht raten zu müssen.) – Duncan

Antwort

3

decaf::util::concurrent Einrichtungen des ActiveMQ Sieht aus wie ziemlich nett sind, dass sie einige gleichzeitigen Behälter und eine Thread-Pool-Anlage zur Verfügung stellen, aber ich würde wahrscheinlich immer noch stimmen mit boost::thread da es zu sein scheint viel besser dokumentiert, es sei denn, Sie können eine Situation voraussehen, in der Ihre Threads tatsächlich mit der ActiveMQ-Thread-Typ-Signatur übereinstimmen müssten, aber nach kurzer Suche kann ich nicht viele Hinweise finden, dass das notwendig wäre. boost::thread ist ziemlich ausgereift, sehr portabel, sehr Feature-komplett und hat den Bonus, sehr gut dokumentiert zu sein.

+0

Erkenne, das ist ein alter Thread (wirklich, kein Wortspiel beabsichtigt!), Aber ich habe die gleiche Frage. Sehen Sie sich meinen obigen Kommentar an, warum ich denke, dass ich die Decaf-Thread-Utilities in meinem Code verwenden muss. (Zu diesem Zeitpunkt würde ich lieber die C++ - Standardbibliothek verwenden.) – Duncan