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

在线做网站免费黄搞营销网络图

在线做网站免费黄搞,营销网络图,c 手机网站开发模板,做网站都得会什么技术今天来实现一个小小的自定义连接线程池,主要是为了让我们对线程池有一个大致的了解 我们的连接对象如下 实现这个连接对象就可以了 class MockConnect implements Connection {Overridepublic Statement createStatement() throws SQLException {return null;} …

今天来实现一个小小的自定义连接线程池,主要是为了让我们对线程池有一个大致的了解

我们的连接对象如下

实现这个连接对象就可以了

class MockConnect implements Connection {@Overridepublic Statement createStatement() throws SQLException {return null;}

下面是我们的自定义线程池的实现

class Pool {/*** 连接池大小*/private final Integer poolSize;/*** 连接池连接数组*/private Connection[] connections;/*** 连接数组的状态 0 空闲 1繁忙*/private AtomicIntegerArray status;public Pool(Integer poolSize) {this.poolSize = poolSize;this.connections = new Connection[poolSize];this.status = new AtomicIntegerArray(new int[poolSize]);for (Integer i = 0; i < poolSize; i++) {connections[i] = new MockConnect();}}/*** @Description 获取 连接**/public Connection getConnection() {while (true) {for (Integer i = 0; i < poolSize; i++) {Connection connection = this.connections[i];//多个线程 使用cas 保证 线程安全if (status.compareAndSet(i, 0, 1)) {System.out.println("获得");return connection;}}//循环一圈发现线程都是 满的  就休眠synchronized (this) {try {this.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}}//醒来之后接着循环}}/*** @Description: 释放连接**/public void freeConnection (Connection connection) {for (Integer i = 0; i < poolSize; i++) {if(this.connections[i]==connection){status.set(i,0);System.out.println("释放了");//释放了 就唤醒等待的synchronized (this){this.notifyAll();}break;}}}
}

可以看到 我们用一个connection 连接数组来保证每一个连接对象,然后用一个status 的cas数组来控制每一个连接对应只能获取一次,然后添加等待唤醒放置资源的浪费

测试用例

public class MyPool {public static void main(String[] args) {Pool pool = new Pool(3);for (int i = 0; i < 5; i++) {new Thread(new Runnable() {@Overridepublic void run() {Connection connection = pool.getConnection();try {Thread.sleep(1500);} catch (InterruptedException e) {throw new RuntimeException(e);}pool.freeConnection(connection);}}).start();}}}

http://www.dtcms.com/wzjs/293476.html

相关文章:

  • 网页制作软件免费版下载seo优化操作
  • 网站建设 广州线上推广方案怎么写
  • .ent做的网站有哪些网站设计公司哪家专业
  • 网站建设的几大原则全网搜索
  • 网站设计公司武汉网络营销的概念与含义
  • 一个网站做3个关键词够谷歌排名查询
  • 汶上县住房和建设局网站今天热搜前十名
  • 临沂网站建设和轶件安装2023必考十大时政热点
  • 珠海企业网站制作费用东莞网站建设推广公司
  • 门户网站建设平台百度seo白皮书
  • 全功能电子商务网站建设企业网站推广外包
  • 专门做网上链接推广的网站百度链接提交收录入口
  • 网站开发委托合同东莞优化网站制作
  • 北海网站建设哈尔滨seo关键词排名
  • 昆明网站运营公司有哪些seo搜索引擎优化方案
  • 破解版下载大全免费下载搜索引擎优化技巧
  • 廊坊seo公司乌鲁木齐seo
  • 1000平方办公室装修多少钱优化关键词的方法有哪些
  • 口碑好网站建设报价百度一下首页问问
  • 网络运维工程师项目经验镇江关键字优化公司
  • 网站记录登录账号怎么做谷歌paypal官网登录入口
  • 阿里巴巴上做英文网站一年多少钱百度官网网站登录
  • 官网查询网站沈阳全网推广公司哪家好
  • 专业做红木家具网站网络销售每天做什么
  • 网上做游戏赚钱的网站新闻联播俄罗斯与乌克兰
  • 震泽做网站seo顾问合同
  • 如何做网页游戏网站百度推广下载
  • 手机微网站素材seo关键字优化教程
  • 海淀制作网站的公司免费推广网
  • 淄博网站建设报价爱站长