Nebenläufigkeit

Technoblade

Erfahrenes Mitglied
Hi,

ich habe mich mal ein wenig umgeschaut in der Standardbibliothek. Dabei ist mir aufgefallen, dass Nebenläufigkeit bis dato nicht standardisiert möglich ist, sondern erst mit der nächsten Version von C++.
Die Frage die sich mir nun stellt, es gibt doch nun schon seit viele Jahren C++ und es wurden etliche Programme damit geschrieben, die sicherlich bei weitem nicht alle ohne Nebenläufigkeit auskommen.

Wie wird das in C++ umgesetzt, muss jede nebenläufige Handlung in einen extra Prozess ausgelagert werden, oder wie macht man das bis jetzt?

Grüße Technoblade
 
Hi.
ich habe mich mal ein wenig umgeschaut in der Standardbibliothek. Dabei ist mir aufgefallen, dass Nebenläufigkeit bis dato nicht standardisiert möglich ist, sondern erst mit der nächsten Version von C++.
Die Frage die sich mir nun stellt, es gibt doch nun schon seit viele Jahren C++ und es wurden etliche Programme damit geschrieben, die sicherlich bei weitem nicht alle ohne Nebenläufigkeit auskommen.

Wie wird das in C++ umgesetzt, muss jede nebenläufige Handlung in einen extra Prozess ausgelagert werden, oder wie macht man das bis jetzt?
Ganz normal. Man nutzt Threads (wenn das Betriebssystem diese Funktionalität anbietet).

Gruß
 
Ahh, hab nochmal nen bisschen weiter geguckt. War halt nur auf die References gestoßen nach denen eine Einheitliche Thread-Klasse erst mit der neuen Version verfügbar ist und, den Wikipedia-Artikel, dass C++ bisher keine Nebenkäufigkeit unterstützt.
^^ Wenn man JAva gewöhnt ist muss man sich erstmal darauf einstellen, dass es nicht zu allem eine Klasse geben muss :D
 
Das ist eben das Prinzip von einer Runtime-abhängigen Sprache wie Java.

In C++ war/ist es bis jetzt so, wie du schon richtig geschrieben hast, dass die Sprache "nur" unterstützt, externe Funktionen vom Betriebssystem zu verwenden.
Ob dieses auch Funktionen für Threads anbietet (und die Namen davon), hängt dann eben vom Betriebssystem ab.

Mit dem neuen Standard soll dann aber eine Vereinheitlich kommen, sodass das Ganze auf Compilerebene passiert.

Gruß
 
Das Thema ist erledigt, ohne eine Lösung anzubieten. Na so geht das aber nicht. Ich will hier wenigstens auf Boost verweisen, eine Library, die viele Anregungen zum neuen Standard C++0x (eher C++1x) gegeben hat. Dort existiert mit Boost.Thread eine Möglichkeit, Nebenläufigkeit mit den gängigsten Betriebssystemen einheitlich zu programmieren. Die Handhabung der Threads ist dort auch meiner Meinung nach sehr elegant.
http://www.boost.org/

Gruß, Traveller
 
Zurück