Остановить поток Java из нового класса - PullRequest
0 голосов
/ 03 июля 2018

Я очень новый в мире Java. Недавно я столкнулся с проблемой, из-за которой зависание java-приложения. Когда я создавал дамп потока, я обнаружил, что этот конкретный поток создает сотни тысяч заблокированных записей.

"Thread-1" #12 daemon prio=5 os_prio=0 tid=0x0000000018392800 nid=0x2de0 waiting on condition [0x0000000018ece000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
   - parking to wait for  <0x00000000a1da8db8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  at java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
  at com.sun.glass.ui.InvokeLaterDispatcher.run(InvokeLaterDispatcher.java:108)

Locked ownable synchronizers:
- None

& после того, как приложение иногда зависает, а поток меняется на -

"Thread-1" #12 daemon prio=5 os_prio=0 tid=0x0000000018392800 nid=0x2de0 in Object.wait() [0x0000000018ece000]
  java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.glass.ui.InvokeLaterDispatcher.run(InvokeLaterDispatcher.java:126)
- locked <0x00000000a1d65960> (a java.lang.StringBuilder)

 Locked ownable synchronizers:
- None

Поскольку это скомпилированный jar-файл, и я не знаю всех аспектов java для поиска этой конкретной темы. Можно ли сделать внешний файл класса, чтобы остановить или убить этот поток выполнения, чтобы остановить зависание приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...