jdbc 05 2021-01-05

连接池 maxactive最大连接2个对象
要实现第三个在等待状态,第三个处在阻塞状态
当同时执行三个对象 第三个要阻塞 我们使用线程
第一、三个线程 前两个中任意一个连接 close连接资源提交后第三个才能使用
第二、实现有三个线程 前两个执行5毫秒 第三个要等待5毫秒

Thread.sleep(5000).jpeg

package demo07;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import demo06.DBUtile;

//多线程 访问数据库
public class DbUtile {

public static void main(String[] args) {
    Thread t1 = new DemoThread(5000,"线程1") ;
    Thread t2 = new DemoThread(5000,"线程2") ;
    Thread t3 = new DemoThread(5000,"线程3") ;
    t1.start() ;
    t2.start() ;
    t3.start() ;
}

}
//线程 访问数据库
class DemoThread extends Thread{
//线程等待时间
int wait ;
//线程名字
String thread_Name ;
public DemoThread(int wait, String thread_Name){
this.wait = wait ;
this.thread_Name = thread_Name ;
}
@Override
public void run() {
Connection con = null ;
try {
con = DBUtile.getConnection() ;
System.out.println("线程名:"+thread_Name+"; 获得连接:"+con+",阻塞时间:"+wait);
Statement sta = con.createStatement() ;
String sql = "select 'hello' from dual" ;
ResultSet rs = sta.executeQuery(sql) ;
while(rs.next()){
String str = rs.getString(1) ;
System.out.println(str);
}
Thread.sleep(wait);
rs.close() ;
sta.close() ;
} catch (Exception e) {
e.printStackTrace();
} finally{
DBUtile.closeConnection(con);
}
}
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 51、类ExampleA继承Exception,类ExampleB继承ExampleA。 有如下代码片断: try...
    Nathan_Yang阅读 754评论 0 0
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,536评论 1 31
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,794评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,346评论 0 10

友情链接更多精彩内容