【GUI】wxWidgets(旧wxWindows) その2【サイザー】at TECH
【GUI】wxWidgets(旧wxWindows) その2【サイザー】 - 暇つぶし2ch209:デフォルトの名無しさん
04/12/29 01:40:28
並行プログラミングでは、実際に動かしてみても正しいかどうかの判断がつかないから
試行錯誤なしで初めから論理的に正しいコードを書くのが重要になるんですよ。

wxのドキュメントは、posixないしwin32スレッドの知識があるのが前提で書かれているようですね。
URLリンク(www.opengroup.org)
こことか読めば、wxCondition::Wait()がsignalを得て関数から戻るときに、
mutexを再び獲得する、というのがわかると思う。
つまり
Thread::Entry(){
  mutex->Lock();
  while(!TestDestroy){
    condition->Wait();
    iroironakoto();
  }
}
と書かなければいけない。

wxのドキュメントにもmustと書かれているとおり、mutexを獲得せずにwxCondition::Wait()を呼出すのは未定義の動作を引き起こします。
OnButton()の方のmutex lockは省略可能ですが。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch