簡體   English   中英

JDBC4Connection 和 JDBC4PreparedStatement 被鎖定

[英]JDBC4Connection and JDBC4PreparedStatement locked

我有一個線程轉儲,其中有很多線程顯示鎖定的 JDBC4Connection 和 JDBC4PreparedStatement。為什么太多線程顯示鎖定的連接和准備好的語句......

"ajp-bio-14009-exec-606" daemon prio=10 tid=0x00007f625405f800 nid=0x2f88 runnable [0x00007f61cfaf7000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
    at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
    at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
    - locked <0x00000006f1111988> (a com.mysql.jdbc.util.ReadAheadInputStream)
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2537)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2990)
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3520)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
    - locked <0x00000006f11113e8> (a com.mysql.jdbc.JDBC4Connection)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
    - locked <0x00000006d593e3e8> (a com.mysql.jdbc.JDBC4PreparedStatement)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
    - locked <0x00000006f11113e8> (a com.mysql.jdbc.JDBC4Connection)
    - locked <0x00000006d593e3e8> (a com.mysql.jdbc.JDBC4PreparedStatement)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
    - locked <0x00000006d593e3e8> (a com.mysql.jdbc.JDBC4PreparedStatement)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
    at com.appnetix.app.util.QueryUtil.update(QueryUtil.java:534)

這是因為 MySql JDBC 驅動程序包含很多同步塊。 您的線程未鎖定在同步塊上。 它們獲取必要的鎖並等待 I/O。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM