マルチスレッドプログラミング相談室 その7at TECH
マルチスレッドプログラミング相談室 その7 - 暇つぶし2ch498:デフォルトの名無しさん
09/03/15 20:09:14
>>492
ワーカースレッドというのは、作業を行うスレッドという程度の意味です。
信号処理中はGUIが不要のようですので、GUIは1個のスレッドにまとめて下さい。
以下、基本は次のような処理になります。Q0とQ1のアクセスを排他制御して下さい。
プライマリスレッド
  メインウィンドウの作成。
  バッファ群を作成する。例えば5ms用のバッファをN個作成して、
  2個のキューQ0(未使用バッファ用)とQ1(充填済みバッファ用)を作成する
  バッファを全てQ0に格納し、スレッドA・Bを作成・実行する。
  以降はGUIによるスレッドA・Bのコントロールを行う

スレッドA(バッファ充填処理)
  1.信号受信処理の初期化
  2.Q0からバッファを取り出す。無ければ待つ。
  3.バッファを充填する処理(この辺で外部からのスレッド終了通知チェック)
  4.バッファが一杯になったらQ1へ入れ、2へ戻る
  
スレッドB(信号処理スレッド)
  #スレッドAで、Q1の格納数が0->1になったとき起こされる。
  1.Q1からバッファを取り出す(なければ待つ)
  2.信号処理(この辺で外部からのスレッド終了通知チェック)
  3.結果の出力
  4.バッファをQ0へ入れ、1へ戻る


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