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

解決


neco  2006-07-29 02:08:45  No: 62592

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

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

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

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


επιστημη  2006-07-29 07:50:20  No: 62593

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


Ban  2006-07-29 10:26:39  No: 62594

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


neco  2006-07-31 19:19:53  No: 62595

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加