private static final Lock lock = new ReentrantLock();
public static void main(String[] args) throws InterruptedException, TimeoutException {
lock.lock();
//SQl 连接数据库 访问数据库语句
public static void main(String[] args) throws InterruptedException, TimeoutException {
lock.lock();
//SQl 连接数据库 访问数据库语句
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println(e.getMessage());
} finally {
lock.unlock();
}
}
思路:在与数据库建立连接的时候,先锁定数据库,当连接关闭之后,解除锁定。
lock.unlock();
}
}
思路:在与数据库建立连接的时候,先锁定数据库,当连接关闭之后,解除锁定。
多线程操作数据库:先记录下线程PID,每次有连接建立的时候,先看看这个pid有没有释放,如果没有就放心,正常操作。如果有,就等待..几秒,等待超时的就catch