多线程应用中的静态类/方法
本文关键字:方法 静态类 应用 多线程 | 更新日期: 2023-09-27 18:14:38
我有一个需要访问MSSQL的多线程应用程序。我已经创建了一个静态方法类,其中每个方法看起来像这样:
public static int [] Login(string [] LoginDetails)
{
using (SqlConnection connection = new SqlConnection(CS))
{
}
正确吗?我在多线程方面没有经验,但我想每个线程都会用它的变量运行这个静态方法的"副本",所以它们不会被共享。我假设如果我在类级别上声明静态成员(如sqlConnection)并将其设置为静态,那么它将被共享,因此它将导致并发访问问题。
它并不是"复制"方法本身,而是每个方法调用(无论是在同一线程中递归地还是在不同线程中)确实会获得自己单独的一组局部变量。
只要这里的数据没有在线程之间以可变的方式共享,就应该没问题。
(顺便说一句,更习惯的做法是在名称旁边包含类型的数组部分,不带空格——所以是int[]
而不是int []
。)