001
06.10.2005, 11:00 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zunächstmal hat eine Criticalsection nichts mit volatile zu tun (bzgl. volatile siehe auch hier): Eine critical section verhindert, daß zwei konkurrierende Threads sich die Daten gegenseitig zermatschen, volatile bewirkt, daß eine Optimierung vom Compiler unterbunden wird.
Eigentlich mußt du die critical section so oder so nehmen.
Bzgl. volatile hast Du nur die Wahl, volatile zu verwenden oder die Optimierungen des compilers komplett zu unterbinden. Es mag auch helfen, nicht die Variablen, wohl aber die Threadfunktion volatile zu machen: dann wird eben die Optimierung für die Funktion unterbunden. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |