他のスレッドがオブジェクトのリソースにアクセスしたり読み取ったりできないようにするにはどうすればよいですか? たとえば、メソッドのように、メソッド呼び出しがオブジェクトのリソースにアクセスしている間、そのメソッドをロックして、他のスレッドがそのメソッドを呼び出したときに、最初のスレッドがアクセスしている間にインスタンスのリソースにアクセスしないようにしますか?
たとえば、
int CFoo::FooReadData( int tag )
{
std::map<int, int>::const_iterator iter = resource.find(tag);
return *iter.second;
}
上記の方法では、他のスレッドが「リソース」にアクセスしているときに、他の呼び出しスレッドが「リソース」にアクセスできないようにしたいと考えています。
ありがとう。