Ich suche nach etwas analog zu Create(), SetEvent() und WaitForMultipleObjects() aus der Win32-Welt.Gibt es eine C++ Cross-Plattform „bezeichnetes Ereignis wie die "Create()" in Win32?
Speziell dies muss auf alle Prozesse auf demselben Rechner zugreifbar sein
Wir verwenden Poco bereits für einige plattformübergreifende Sachen, aber ich sehe nicht, dass das Poco :: Event das ist, was ich will, vielleicht fehlt mir etwas.
BEARBEITEN:
T o erklären, was ich tun möchte:
Ich möchte Prozess B zu wissen, wenn etwas in Prozess A passiert. Dies ist trivial in Win32 - Jeder Prozess/Thread ruft CreateEvent() mit einem Namen für das Ereignis. Prozess B ruft waitForXObject() auf, und Process A ruft SetEvent() auf, wenn etwas passiert. B wird signalisiert.
Wieder ist dies in win32 trivial, aber wie man es plattformübergreifend macht.
Können Sie mehr erklären, was Sie zu tun versuchen? Es gibt kein C++ -Äquivalent, es gibt Bibliotheken, die für Sie arbeiten könnten. Es klingt für mich, dass, was Sie brauchen könnten, ist einige Middleware, um Ihre Sachen (Natürlich rate ich) –
@Romain - Ich habe Details hinzugefügt. Ich weiß, dass es keine C++ - Primitive gibt. Was ich suche, sind Möglichkeiten, es in C++ zu tun, keine Sprachveränderung. – Tim
Siehe meine Antwort Sie wollen boost :: named_condition, es gibt keine eingebaute C++ Möglichkeit, dies ohne eine Bibliothek wie Boost zu tun. –