DelphiFAQ Home Search:

How to make a data structure thread-safe

 

commentsThis article has not been rated yet. After reading, feel free to leave comments and rate it.

You need to create a global TCriticalSection and lock / unlock it when you access shared resources with code as shown below.

Create a separate TCriticialSection instance for each resource that can be used independently.
TCriticialSection is defined in unit SyncObjs.

uses
  SyncObjs;

// one lock for each independent resource
var
  myLock : TCriticalSection;

// early during application startup:
myLock := TCriticalSection.Create; 


procedure TMyThread.Execute;
begin
  //... lock it
  myLock.Acquire; 

  // use the shared resource

  // unlock it..
  myLock.Release;
end;
You don't like the formatting? Check out SourceCoder then!
Content-type: text/html

Comments:

2006-03-13, 03:53:07
anonymous from United Kingdom  
Top Bannana just what i wanted!!
2008-12-10, 21:39:37
anonymous from United States  
you suck.

 

 

NEW: Optional: Register   Login
Email address (not necessary):

Rate as
Hide my email when showing my comment.
Please notify me once a day about new comments on this topic.
Please provide a valid email address if you select this option, or post under a registered account.
 

Show city and country
Show country only
Hide my location
You can mark text as 'quoted' by putting [quote] .. [/quote] around it.
Please type in the code:

Please do not post inappropriate pictures. Inappropriate pictures include pictures of minors and nudity.
The owner of this web site reserves the right to delete such material.

photo Add a picture: