スレッドについて勉強中なのですが、いまワーカースレッドの処理が
入っているプロジェクトを作成していまして、ちょっとわからないことが
ありましたのでお聞きしたいと思います。
ワーカースレッドで処理されているスタティックの関数内にて、
とあるクラスの(public指定の)スタティックメンバ関数を使っているのですが、
この使い方は問題ないでしょうか…?
実際exeを実行している分にはとくに問題なさそうですけれども、
static指定ですと一つの場所にあるというイメージがあって
それがUIのメインスレッドとワーカースレッドで重複して使うということに
なるのはちょっと不安な感じがしまして…。
(もしかすると自分の根本的な認識が間違ってるかもしれませんが)
識者の方々、御教授お願いします。
(環境:WindowsXP VC++6.0 SP6 MFC)
問題ないでしょう。コンテキストがことなりますから。
staticな変数だと大問題でしょうけど。
static な関数の内部実装にもよるとは思います。
中で何か外部リソースをいじってるとか、staticな(メンバ)変数を
更新してるとかはないですか?なければεπιστημη さんの書かれているとおりです。
epistemeさん、Banさんありがとうございます。
関数の使用という意味では問題ないということで
安心しました。
ですが、Banさんの仰いますようによくみたら
内部でAppクラスのメンバ変数を変更してましたので、
CriticalSectionを使って同一アクセスできないように
させたいと思います。
ツイート | ![]() |