当前位置: 首页 > news >正文

在线生成网站地图社区建立网站

在线生成网站地图,社区建立网站,wordpress绕过媒体,合肥做网站的的公司有哪些介绍 以一个简易版的数据库连接池的实现来说明一下 连接池的connection以队列来管理 getConnection的时候#xff0c;如果队列中connection个数小于50#xff0c;且暂时无可用的connection#xff08;个数为0或者peek看下头部需要先出那个元素还处于不可用状态#xff09;…介绍 以一个简易版的数据库连接池的实现来说明一下 连接池的connection以队列来管理 getConnection的时候如果队列中connection个数小于50且暂时无可用的connection个数为0或者peek看下头部需要先出那个元素还处于不可用状态就新建连接并建立连接开始一直新建到50个connection就是_currentPoolSize 50 如果队列中connection个数大于等于50且暂时无可用的connection个数为0或者peek看下头部需要先出那个元素还处于不可用状态就等着Monitor.Wait(_connectionPoolQueueLock) returnConnection的时候使用Monitor.Pulse(_connectionPoolQueueLock) 随机通知一个wait的线程可以继续getConnection了 using System; using System.Collections.Generic; using System.Data; using System.Threading; using Mono.Data.Sqlite;namespace demo.unity.sqlite {public class SQLiteConnectionManager{private QueueTupleSqliteConnection, DateTime _connectionPoolQueue;private object _connectionPoolQueueLock new object();private const int maxPoolSize 50;private volatile bool _disposed;private int _currentPoolSize;private readonly System.Timers.Timer _cleanupTimer new System.Timers.Timer(10 * 60 * 1000);public SQLiteConnectionManager(){_connectionPoolQueue new QueueTupleSqliteConnection, DateTime(maxPoolSize);_cleanupTimer.Elapsed _cleanupTimerElapsed;_cleanupTimer.AutoReset true;_cleanupTimer.Start();}private void _cleanupTimerElapsed(object sender, System.Timers.ElapsedEventArgs e){lock (_connectionPoolQueueLock){while (_connectionPoolQueue.Count 0 (DateTime.UtcNow - _connectionPoolQueue.Peek().Item2).TotalMinutes 15){var tup _connectionPoolQueue.Dequeue();tup.Item1.Dispose();_currentPoolSize--;}}}private SqliteConnection _createNewConnection(SqliteConnectionStringBuilder builder){var connection new SqliteConnection(builder.ConnectionString);connection.Open();return connection;}public SqliteConnection getConnection(SqliteConnectionStringBuilder builder){lock (_connectionPoolQueueLock){// count 0 or queue.peek no use connectionwhile (_connectionPoolQueue.Count 0 || _connectionPoolQueue.Peek().Item1.State ! ConnectionState.Open){if (_disposed){throw new ObjectDisposedException(The DB connection pool is is already disposed);}if (_currentPoolSize maxPoolSize){// create and open connectionvar connection _createNewConnection(builder);_connectionPoolQueue.Enqueue( new TupleSqliteConnection, DateTime(connection, DateTime.UtcNow));_currentPoolSize;}else{Monitor.Wait(_connectionPoolQueueLock);}}return _connectionPoolQueue.Dequeue().Item1;}}public void returnConnection(SqliteConnection connection){if (connection null){return;}lock (_connectionPoolQueueLock){_connectionPoolQueue.Enqueue(new TupleSqliteConnection, DateTime(connection, DateTime.UtcNow));Monitor.Pulse(_connectionPoolQueueLock);}}public void dispose(){lock (_connectionPoolQueueLock){_disposed true;while (_connectionPoolQueue.Count 0){var tup _connectionPoolQueue.Dequeue();tup.Item1?.Dispose();_currentPoolSize--;}// wake up any waiting threadsMonitor.PulseAll(_connectionPoolQueueLock);}_cleanupTimer.Stop();_cleanupTimer.Dispose();}} }
http://www.huolong8.cn/news/323980/

相关文章:

  • 网站的在线支付模块怎么做企业所得税优惠政策2020
  • 坪山网站建设行情做网站除了域名还要买什么
  • 免费资料网站网址下载视频网站开发php
  • 什么是网站建设技术react 网站开发
  • 校园淘宝店网站开发百度灰色关键词代发
  • 深圳外贸建站网络推广公司做爰全程的网站
  • 如何做网站连接手机app ui设计
  • 免费建立网站教程php作品源代码免费下载
  • 如何做网站的营销高端网页制作公司
  • 美仑-专门做服装的网站餐饮网站开发
  • 做网站的手机软件济南企业网站搭建
  • 专业做网站+上海建设制作网站
  • 做网站公司 备案在线做头像网站
  • 常德营销型网站建设小白如何建网站
  • 图片网站如何优化wordpress导入模板之后
  • 男女怎样做那个视频网站黄岗住房和城乡建设厅官方网站
  • 海口网站建设哪个好薇郑州企业网络推广
  • 渭南市住建设局网站司法局网站开发方案
  • 网站免费建站厂商定制深圳企业网站制作公司查询
  • 五金公司网站模板门户网站是指提供什么的网站
  • wordpress做企业展示站动漫设计就业率高吗
  • 虾皮购物网站怎么做php做网站需要注意什么
  • 莆田有交做外贸网站的没如何注册公司支付宝账户
  • 怎样用虚拟主机建网站天元网络
  • 城乡建设学校官方网站响应式网站框架
  • php做网站要多久一个网站空间可以做多少个网站
  • 纯手工建网站珠海网络推广公司
  • 修改网站需要什么手机端网站优化排名seo推广
  • 安全网多少钱一个衡阳网站优化
  • 国外做任务网站有哪些什么是网站的层次