<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      c3p0引起的死鎖怎么處理

      [摘要]代碼測試本地無誤,于是放到外網服務器測試,出現了這樣的錯誤com.mchange.v2.async.ThreadPoolAsynchronousRunner -46651078 [Timer-18]...
      代碼測試本地無誤,于是放到外網服務器測試,出現了這樣的錯誤

      com.mchange.v2.async.ThreadPoolAsynchronousRunner -466510
      78 [Timer-18] WARN  com.mchange.v2.async.ThreadPoolAsynchronousRunner  - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c17bd4 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

      看到這個頭都大了,怎么辦呢?為什么出現這樣的情況?

      我的答案是:

      因為數據庫的連接數是有限的,每次應用啟動C3p0都會占用數據庫的連接來填充C3p0的連接池,而當數據庫的資源被占光時就會因為無法獲得共享資源而報死鎖。

      更改對應配置文件里面的最大連接數和初始化連接數:

      未改前:

      <property name="maxPoolSize" value="100" />  
      <property name="initialPoolSize" value="2" />

      修改之后:

      <property name="maxPoolSize" value="1" />  
      <property name="initialPoolSize" value="1" />

      重新部署運行,ok!

      以上就是c3p0引起的死鎖如何解決 的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清