2
MSSQLへのアクセスが必要なマルチスレッドアプリケーションがあります。私は、静的メソッドを持つクラスを作成しました。各メソッドは次のようになります。マルチスレッドアプリケーションの静的クラス/メソッド
public static int [] Login(string [] LoginDetails)
{
using (SqlConnection connection = new SqlConnection(CS))
{
}
これは間違いありませんか?私はマルチスレッドでは経験はありませんが、各スレッドは変数でこの静的メソッドの "コピー"を実行し、共有されないと思います。クラスレベルで静的メンバー(sqlConnectionなど)を宣言し静的にすると、共有されるため、同時アクセスの問題が発生します。
「こうして」何?上記の変数 'connection'は、実行された各メソッドに対してローカルになりますが、それは正しいです。 – bzlm
私の意見では、このメソッドは静的である必要はありません。この場合、データベースエンジンは並列性を処理して最適化するように設計されており、複数の接続やすべてを処理するため、この場合のスレッドについては心配しないでください。 –