ワーカースレッドでのスタティックメンバ関数使用

解決


neco  2006-07-28 17:08:45  No: 62592  IP: 192.*.*.*

スレッドについて勉強中なのですが、いまワーカースレッドの処理が
入っているプロジェクトを作成していまして、ちょっとわからないことが
ありましたのでお聞きしたいと思います。

ワーカースレッドで処理されているスタティックの関数内にて、
とあるクラスの(public指定の)スタティックメンバ関数を使っているのですが、
この使い方は問題ないでしょうか…?

実際exeを実行している分にはとくに問題なさそうですけれども、
static指定ですと一つの場所にあるというイメージがあって
それがUIのメインスレッドとワーカースレッドで重複して使うということに
なるのはちょっと不安な感じがしまして…。
(もしかすると自分の根本的な認識が間違ってるかもしれませんが)

識者の方々、御教授お願いします。
(環境:WindowsXP VC++6.0 SP6 MFC)

編集 削除
επιστημη  2006-07-28 22:50:20  No: 62593  IP: 192.*.*.*

問題ないでしょう。コンテキストがことなりますから。
staticな変数だと大問題でしょうけど。

編集 削除
Ban  2006-07-29 01:26:39  No: 62594  IP: 192.*.*.*

static な関数の内部実装にもよるとは思います。
中で何か外部リソースをいじってるとか、staticな(メンバ)変数を
更新してるとかはないですか?なければεπιστημη さんの書かれているとおりです。

編集 削除
neco  2006-07-31 10:19:53  No: 62595  IP: 192.*.*.*

epistemeさん、Banさんありがとうございます。

関数の使用という意味では問題ないということで
安心しました。
ですが、Banさんの仰いますようによくみたら
内部でAppクラスのメンバ変数を変更してましたので、
CriticalSectionを使って同一アクセスできないように
させたいと思います。

編集 削除