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

Reply via email to