Use InterlockedIncrement/InterlockedDecrement or InterlockedExchangeAdd (if your Y-value is <> 1)
----- Original Message ----- From: "Ross Levis" <[EMAIL PROTECTED]> To: "'Borland's Delphi Discussion List'" <[email protected]> Sent: Tuesday, July 17, 2007 6:04 AM Subject: Threads again I'm trying to avoid using a critical section due to time overhead. In one thread I have a global integer incrementing roughly every 20 milliseconds using Inc(x,y). In another thread I have the same integer decreasing using Dec(x,y) at about the same speed. Is it critical to have these in a critical section? I've been testing it here for a few days continuously and it appears to work fine without one. Even with a dual processor and each thread running on a separate processor, is it possible for one memory location to be written precisely at the same time? It doesn't matter which occurs first or in which order. Cheers, Ross. _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi _______________________________________________ Delphi mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi

