Анализ дампа потока: неожиданное поведение - ожидающие потоки - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь пройти через дамп потока Java.Мое приложение (размещенное на веб-сфере) сталкивается с проблемами, когда несколько потоков зависают на неопределенное время.

При исследовании я мог видеть ниже фрагмент, где несколько потоков ожидают объект, который не принадлежит.

a) Почему потоки ожидают объект, который не принадлежит?

b) В чем разница между потоком WebContainer и потоком ORB.thread.pool?

2LKMONINUSE      sys_mon_t:0x00007FC510A24818 infl_mon_t: 0x00007FC510A24890:
3LKMONOBJECT       java/lang/Object@0x00000001C4D927B8: <unowned>
3LKNOTIFYQ            Waiting to be notified:
3LKWAITNOTIFY            "ORB.thread.pool : 2" (J9VMThread:0x000000000BBDD200)
3LKWAITNOTIFY            "ORB.thread.pool : 3" (J9VMThread:0x000000000CB22200)
3LKWAITNOTIFY            "ORB.thread.pool : 4" (J9VMThread:0x000000000C9A1800)
3LKWAITNOTIFY            "ORB.thread.pool : 6" (J9VMThread:0x000000000C624C00)
3LKWAITNOTIFY            "ORB.thread.pool : 9" (J9VMThread:0x000000000CE5F400)
3LKWAITNOTIFY            "WebContainer : 13" (J9VMThread:0x000000000CD20000)
3LKWAITNOTIFY            "ORB.thread.pool : 11" (J9VMThread:0x000000000C61AA00)
3LKWAITNOTIFY            "ORB.thread.pool : 23" (J9VMThread:0x000000000CA0C200)
3LKWAITNOTIFY            "ORB.thread.pool : 25" (J9VMThread:0x000000000C216D00)
3LKWAITNOTIFY            "ORB.thread.pool : 26" (J9VMThread:0x000000000CA85000)
3LKWAITNOTIFY            "ORB.thread.pool : 27" (J9VMThread:0x000000000C4E8500)
...