关于链接池的问题?

flashspy 2003-09-12 01:36:31
connectionQueue为定义的链接池。
初始化时:
for(int i = 0; i < 20; ++i){
sqlConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
connectionQueue.Enqueue(sqlConnection);
}
放入了20个数据库链接。


取链接时:
public SqlConnection getSqlConnection()
{
SqlConnection con = null;
lock(connectionQueue)
{
if(connectionQueue.Count > 0)
{
con = (SqlConnection)connectionQueue.Dequeue();
}
else
{
//此处想让线程wait
}
}
return con;
}

返回链接时:
public void returnConnection(SqlConnection sqlConnection)
{
lock(connectionQueue.SyncRoot)
{
connectionQueue.Enqueue(sqlConnection);
//此处想唤醒前面等待的线程
}
}

不知道上面两行注释的地方该怎么写,有没有像JAVA里面wait和notifyAll的方法。
...全文
24 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashspy 2003-09-14
  • 打赏
  • 举报
回复
up
flashspy 2003-09-12
  • 打赏
  • 举报
回复
up一下
分不够可以再加啊
flashspy 2003-09-12
  • 打赏
  • 举报
回复
因为用的时候不知道具体的ConnectionString,写到Web.config里面到时候更改就不用重新编译
soulroom 2003-09-12
  • 打赏
  • 举报
回复
为什么不直接设置ConnectionString属性?
wkyjob 2003-09-12
  • 打赏
  • 举报
回复
关注,想学。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧