複数のスレッド間での同一メモリー領域の同期について – プログラミング – Home

複数のスレッド間での同一メモリー領域の...
 
通知
すべてクリア

複数のスレッド間での同一メモリー領域の同期について


鳴海
 鳴海
(@鳴海)
ゲスト
結合: 24年前
投稿: 2
Topic starter  

複数のスレッドで以下の様な処理を行っています。同期がとれずに苦労しています。現象としてはフリーした領域へのアクセス違反など様々な現象がでております。どなたかご存じの方がいましたら宜しくご回答の程お願い致します。
【処理イメージ】
------------- ------------ -------------
| スレッドA | | スレッドB | | スレッドC |
|(メモリ追加)| |(メモリ削除)| |(メモリ参照)|
------------- ------------- -------------
上記各スレッドで使用するメモリーはCPtrArrayです。
 スレッドAはメモリーに追加(GlobalAllocした領域をAdd)します。
 スレッドBはメモリーから削除(GlobalFreeで解放)します。
 スレッドCはメモリーを参照します。
それぞれのスレッドが非同期で動いている状況です。
スレッドAで追加する時にはスレッドB及びスレッドCは待機
スレッドBで削除する時にはスレッドA及びスレッドCは待機
するように処理を行いたいのですが、同期の取り方がわかりません。
このような内容でおわかりになる方がいましたら宜しくお願い致します。


引用解決済
トピックタグ
ららら
(@admin-rarara)
メンバー Admin
結合: 5年前
投稿: 119
 

スレッド間の同期は、CEvent等の同期オブジェクトを使用すれば
良いです。
WaitForSingleObject等で待ち受けできます。


返信引用
重
 重
(@重)
ゲスト
結合: 24年前
投稿: 84
 

Mutexではどうでしょう?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました