多线程应用中的静态类/方法

本文关键字:方法 静态类 应用 多线程 | 更新日期: 2023-09-27 18:14:38

我有一个需要访问MSSQL的多线程应用程序。我已经创建了一个静态方法类,其中每个方法看起来像这样:

public static int [] Login(string [] LoginDetails)
    {
        using (SqlConnection connection = new SqlConnection(CS))
        {
}

正确吗?我在多线程方面没有经验,但我想每个线程都会用它的变量运行这个静态方法的"副本",所以它们不会被共享。我假设如果我在类级别上声明静态成员(如sqlConnection)并将其设置为静态,那么它将被共享,因此它将导致并发访问问题。

多线程应用中的静态类/方法

它并不是"复制"方法本身,而是每个方法调用(无论是在同一线程中递归地还是在不同线程中)确实会获得自己单独的一组局部变量。

只要这里的数据没有在线程之间以可变的方式共享,就应该没问题。

(顺便说一句,更习惯的做法是在名称旁边包含类型的数组部分,不带空格——所以是int[]而不是int []。)