2011-08-06 17 views
0

私のC++メソッドの1つでは、ある時点でこのコードを1つのスレッドしかアクセスしないようにする必要があります。クリティカルセクションの実装は簡単ですか?

void SomeMethod() 
{ 
    //critical section starts 
    someValue++; 
    someVariable = someValue 
    //critical section ends 
} 

これを達成するために、最も簡単で好ましくは最小の(コードワイズ)可能な方法を教えてくれる人は誰ですか?私はBoost Libraryを使いたくないので、これを達成するために自分のコードに混乱を与えたくありません。私は標準のC + +のソリューションは、Windowsでのみ動作しないものを探しています。

+1

これは、スレッドに関することなので、プラットフォーム固有のものではありませんか?私はC++がまだスレッドについて知っているとは思わない。 –

+1

あなたは絶対に*並行プログラミングのためのプラットフォームサポートを持っていなければなりません。標準C++ 98/03 *には*がありません。一つの答えは 'pthreads'です。または、C++ 0xを使用してください。これには ''を使用できます。 –

+0

私は複数のプラットフォームで動作するはずのコードを書いています:( –

答えて

0

ブーストを使用したくない場合... Dekker'sPeterson'sおよびLamport'sアルゴリズムに興味があります。しかし、私は彼らの実用的な実装がうまくいくとは思っていません。

関連する問題