我正在使用带有锁定对象的SQL连接器单例类。我现在的问题是,如果多个用户同时使用这个类,这会产生问题吗?
仅供参考......单身人士代码
public sealed class SqlConnector
{
private static volatile SqlConnector instance;
private static object syncRoot = new Object();
public static SqlConnector Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
{
instance = new SqlConnector();
}
}
}
return instance;
}
}
public Execute(...)
{
//what ever
}
}
答案 0 :(得分:1)
将SqlConnector用作Singleton不是一个很好的做法。 连接池将为您处理它。
来自http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx:
要部署高性能应用程序,必须使用连接 池。当您使用.NET Framework数据提供程序用于SQL Server时, 您不必启用连接池,因为提供程序 尽管您可以修改某些设置,但它会自动管理。对于 有关详细信息,请参阅SQL Server连接池(ADO.NET)。
答案 1 :(得分:0)
类SqlConnector应该是线程安全的