我正在尝试通过java线程转储。我的应用程序(托管在websphere上)面临着问题,很少有线程无限期挂起。
在调查中,我可以看到下面的代码片段,其中多个线程正在等待不拥有的对象。
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)