Bas*_*ien 2 java user-interface multithreading thread-safety
我们有一个java客户端/服务器应用程序,其GUI定期(每半小时)平均2到10秒无响应.点击不同的按钮只会在几秒钟的挂起时间后生效.
我首先想到有一个GC问题,但调查证明这方面没有任何问题.
我更确信这是一个线程问题,图形线程在某些时刻会被阻塞.
如何检查图形线程的状态以查看我的日志中的"无响应"?我想我可以从一个不同的线程每隔一秒左右检查它的状态,但是怎么做呢?要轮询哪个变量?
关于如何解决这个问题的任何其他想法?
谢谢
您可以kill -QUIT向Java进程发出一个(以及在Windows上等效的东西),这将导致所有线程将其堆栈跟踪转储到STDOUT,这样您就可以看到正在发生的事情.这也显示了哪些线程持有锁(同步块)以及哪些线程正在等待.
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |