Kritischer Abschnitt bezieht sich entweder auf einen Codeabschnitt, der gleichzeitig in mehreren Threads ausgeführt wird, der auf globale Daten oder Ressourcen zugreift (Synchronisierung erforderlich), oder auf einen Spinlock auf Benutzerebene, der mit einem Mutexobjekt unter dem Windows-Betriebssystem kombiniert wird. Ein kritischer Abschnitt im letzteren Sinne ist funktional identisch mit einem Mutex, den er nicht mit einem anderen Prozess teilen kann und der im nicht überlasteten Fall mehrere Größenordnungen schneller ist.
Ich habe eine Situation, in der ein Codeblock nur dann ausgeführt werden sollte, wenn zwei Schließfachobjekte frei sind.
Ich hatte gehofft, dass es so etwas wie: geben würde
%Vor%
Aber so etwas scheint es nicht zu geben. Also bedeutet es,...
20.05.2010, 13:17
Ich muss eine Lese- / Schreibsperre in C ++ implementieren, indem ich Win32 api als Teil eines Projekts bei der Arbeit benutze. Alle vorhandenen Lösungen verwenden Kernel-Objekte (Semaphore und Mutexe), die während der Ausführung einen Kontextwe...
17.06.2009, 18:17
Ich habe in C ++ 03 einen Code gefunden, der diese Form annimmt:
%Vor%
Muss das Lesen von foo_.a geschützt werden? z.B.:
%Vor%
Wenn ja, warum?
Bitte gehen Sie davon aus, dass die Ganzzahlen 32-Bit-ausgerichtet sind. Die Plattform i...
30.11.2012, 18:16
Ich bin auf der Suche nach einer Möglichkeit, einen seltenen kritischen Abschnitt (TCriticalSection) von Delphi 7 mit Hang / Deadlock zu debuggen. Wenn in diesem Fall ein Thread länger als etwa 10 Sekunden auf einen kritischen Abschnitt wartet,...
15.09.2010, 16:45
Ich habe irgendwo gelesen, dass der Overhead eines Mutex nicht so viel ist, weil die Kontextumschaltung nur im Falle einer Konkurrenz stattfindet.
Auch bekannte Futexes in Linux.
Gilt das Gleiche in Windows? Ist Critical Section eine passe...
06.08.2013, 13:20
Bitte entschuldigen Sie meinen leicht humorvollen Titel. Ich verwende (offensichtlich) zwei verschiedene Definitionen des Wortes "sicher".
Ich bin ziemlich neu im Threading (naja, ich habe seit vielen Jahren Threading verwendet, aber nur sehr...
07.01.2012, 13:13
Angenommen, wir haben eine gemeinsam genutzte Warteschlange (implementiert mit einem Array), auf die zwei Threads zugreifen können, eine zum Lesen von Daten und eine andere zum Schreiben von Daten. Jetzt habe ich ein Problem der Synchronisation....
27.07.2011, 04:27
std :: mutex ist mit kritischen Abschnitten implementiert, weshalb es viel schneller ist als OS Mutex (unter Windows). Es ist jedoch nicht so schnell wie ein Windows-CRITICAL_SECTION.
Timings sind nur eine enge Schleife in einem einzelnen Thr...
17.02.2015, 16:02