Hat C++ Multithreading?
Hat C++ Multithreading?

Video: Hat C++ Multithreading?

Video: Hat C++ Multithreading?
Video: Build your first multithreaded application - Introduction to multithreading in modern C++ 2024, Kann
Anonim

EIN multithreaded Programm enthält zwei oder mehr Teile, die kann gleichzeitig laufen. Jeder Teil eines solchen Programms ist genannt Gewinde , und jede Gewinde definiert einen separaten Ausführungspfad. C++ tut enthalten keine integrierte Unterstützung für multithreaded Anwendungen.

Anschließend kann man sich auch fragen, ob C++ Single-Threaded ist?

Multithreading in C++ Multithreading-Unterstützung wurde in C+11 eingeführt. C++ 11 hat das alles abgeschafft und uns std:: Gewinde . Die Gewinde Klassen und zugehörige Funktionen sind in der Gewinde Header-Datei. std:: Gewinde ist der Gewinde Klasse, die a darstellt Einzelfaden in C++.

Ist Python außerdem Single-Threaded oder Multithreaded? Die kurze Antwort ist ja, das sind sie Einzelgewinde . JRuby ist multithreaded und kann in Tomcat wie anderer Java-Code ausgeführt werden. MRT (Standard-Rubin) und Python beide haben eine GIL (Global Interpreter Lock) und sind somit Einzelgewinde.

Die Frage ist auch, ist C++-Map-Thread sicher?

2 Antworten. Der C++11-Standard garantiert, dass der Zugriff auf Container mit der Methode const sicher von verschiedenen Fäden (dh beide verwenden const-Methoden). Also die kurze Antwort: Du bist sicher , solange der andere Gewinde mischt sich nicht direkt mit diesem bestimmten Eintrag in der Karte.

Können mehrere Threads dieselbe Funktion aufrufen?

Mehrere Threads, die dieselbe Funktion aufrufen Bei der gleich Zeit. Jeder Funktionsaufruf hat seinen eigenen privaten Satz lokaler Variablen und Wille störe niemals andere Fäden oder andere Anrufe des gleiche Funktion in dem Anruf Stapel. Jedoch alle Ressourcen, die zwischen geteilt werden könnten Fäden sind potentiell gefährlich.