亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TimerThread 是否導致死鎖發生?

TimerThread 是否導致死鎖發生?

桃花長相依 2021-09-29 10:36:24
Timer-2 線程正在等待 0x00000000e1a23398,并且它還鎖定了 0x00000000e1a23398。這種情況會不會導致 Timer-2 線程死鎖?有人可以為我解釋一下嗎?
查看完整描述

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

這不是僵局的證據。

Timer-2 已獲取TaskQueue對象上的鎖并正在等待同一對象上的通知。事實上,如果線程在它調用的Object.wait()那一點上沒有持有鎖,它就會得到一個IllegalMonitorStateException.

我并不是說您的應用程序根本沒有陷入僵局。但是,兩個線程“Timer-1”和“Timer2-”都在等待其他線程通知它們。這不是典型的死鎖,其中兩個線程將各自等待另一個釋放鎖。


我還能弄清楚什么?

好吧,從查看代碼java.util.Timer

  • “Timer-2”線程只是等待下一次定時器觸發。對于Timer.

  • “Timer-1”線程正在執行定時器任務。它似乎試圖創建到(大概)遠程服務的 NSQ 連接。如果它被阻塞,那大概意味著它試圖連接的服務由于某種原因無法訪問。

沒有更多可以從堆棧轉儲中收集到的信息……無需深入研究“com.trendrr.nsq”源代碼。


有什么想法可以用來找出原因嗎?

  1. 查看日志文件。

  2. 檢查配置(或其他)以找出它嘗試連接的服務的主機/端口。

  3. 檢查服務是否正在運行

  4. 檢查它是否可以從客戶端訪問

  5. 深入了解源代碼

  6. 調試、撓頭等等。

  7. 作為最后的手段,聘請顧問。


查看完整回答
反對 回復 2021-09-29
  • 1 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號