Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Feb 20, 2002

Accessing Data Members in a Multithreaded Application


To ensure that only a single thread accesses a data member of an object, declare that member private. Next, add the necessary synchronization operations (e.g., a call to EnterCriticalSection()) in the "getter" and "setter" member functions before actually accessing that member. Finally release the lock (e.g., by calling LeaveCriticalSection()) before the function returns:
 
class Person
{
 string name;
public:
 void setName(const string& newname)
 {
  EnterCriticalSection();
  name=newname;
  LeaveCriticalSection
 }
 void getName(string& firstname) const
 {
  EnterCriticalSection();
  firstname=name;
  LeaveCriticalSection
 }
};
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date