Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Is this FAQ on thread-protecting an object adequate?

Status
Not open for further replies.

djjd47130

Programmer
Nov 1, 2010
480
US
I have written an FAQ here which covers the basics of thread-protecting an object. I was wondering if someone can review this FAQ and let me know if I'm wrong anywhere or any input on what I should change?


JD Solutions
 
If EnterCriticalSection is called by a thread that already owns the Critical section, a lock count on that section is incremented; that thread must call LeaveCriticalSection an equal number of times as it called EnterCriticalSection to clear the lock count on that section before it is released to another thread. So your TLocker Object may want to include a lock count field that is incremented during Lock, and decremented during Unlock, and write a ClearLockCount procedure so it can release itself the appropiate number of times.
 
All your example code for using TLocker is done from the context of Form1.MethodName, which would presumably be your main VCL thread. It may be helpful to show how to pass a reference to this object from your main thread to your secondary thread(s) and use it within the thread.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top