掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CMutex いまいちわかっていません (ID:60844)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 1.プロセスにおいて実体はひとつとして、各スレッドからはポインタで参照する。 > 2.各スレッドで実体を持つ。 CriticalSectionはスレッド間の排他のみを実現するための機能を提供します。 従って答えは1になります。 (ただし、CriticalSectionはプロセス内で1つ〜排他対象物の数分あれば良い) 排他制御は排他アクセス可能なものを使って排他される期間を作り出す ということです。 従って2の方法では排他アクセス可能なものがそれぞれ独立して 存在することになるため、なんら排他にならないことになります。 CriticalSectionの置き場としてはGlobal変数にしてもいいし、 動的にメモリを確保して割り当ててもかまいません。 スレッド間で共通にアクセス可能な場所にあれば問題なしです。 Mutexの場合はそもそもKernelオブジェクトなので、 排他するスレッドごとにOpenMutexすれば良いです。 (実体はKernelが持っているから)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.