2011-07-21 20 views
0

私は、単一のWindowsサービスからマルチスレッドをサポートするWindowsサービスに変換したコンソールアプリケーションを変換するプロセスを進めています。しかし、これはマルチスレッドで私の最初の動きです。C#マルチスレッドWindowsサービス、プライベートまたは[ThreadStatic]

パブリックスタティックではなくすべてのクラスをプライベートスタティックにする必要があるのか​​、パブリックなままにする必要がある場合は[ThreadStatic]属性を付けるべきかと思いました。

基本的に、コードはHTMLクロールから多くの文字列を処理し、次に選択データをmysqlデータベースに配置します。

+0

特にこれ以上の詳細を提供していない場合、これには一応の答えはありません。悪意のあるコードは、マルチスレッドコードを扱うときには、細部にまでこだわっています。 – LukeH

+0

私は私の編集が十分な詳細を与えたことを願って –

+0

いいえ!私が言ったように、それは数え切れないほど細かいことですが、その細部を見ることができなければ、実際にコメントすることはできません。 – LukeH

答えて

1

あなたの最初の質問に対する答えはいいえです。複数のスレッドをサポートするようにコードを修正しても、メンバを変更したりアクセシビリティを入力したりする必要はありません。

各スレッドに独自の独立した静的フィールドを持たせる必要がある場合は、ThreadStaticフィールド(タイプではない)を使用します(そうでない場合、すべてのスレッドは同じ静的フィールドを共有します)。

-1

私は知らない、それは汚い感じ。むしろ、すべてのオブジェクトを管理し、それらの間で値を渡すための管理クラスを作成したいと思います。

関連する問題