2012-10-10 1 views
1

В java-апплете Я рисую график JCChart. Теперь после построения графика, когда я смотрю планировщик задач, он показывает, что использование cpu еще больше 50. Java.exe. Теперь я использую JConsole с плагином, чтобы посмотреть, какой поток в java сильно использует процессор. Затем он показывает, что AWT-EventQueue-2 занимает основное время, и этот поток находится в состоянии Runnable и никогда не запускается. и то, что он делает то, что некоторые, как показано ниже ..Как убить или остановить другие потоки в java-апплете

 
sun.java2d.loops.FillRect.FillRect(Native Method) 
sun.java2d.pipe.LoopPipe.fillRect(Unknown Source) 
sun.java2d.pipe.ValidatePipe.fillRect(Unknown Source) 
sun.java2d.SunGraphics2D.fillRect(Unknown Source) 
com.klg.jclass.chart.JCChart.paintComponent(JCChart.java:670) 
javax.swing.JComponent.paint(Unknown Source) 
com.klg.jclass.chart.JCChart.paint(JCChart.java:593) 
javax.swing.JComponent.paintChildren(Unknown Source) 
javax.swing.JComponent.paint(Unknown Source) 

Так может любой орган, скажите мне, как я могу предотвратить мой апплет такого типа происходит и как я могу остановить это.

ответ

3

Рекомендуемый способ остановки потока в Java - реализовать логику таким образом, чтобы поток завершил выполнение самостоятельно. Если у вас есть цикл, вы можете рассмотреть его окончание на основе действия (например, нажатие кнопки пользователя нажатием кнопки завершения). Из ваших данных кажется, что апплет перекрашивается. Вероятно, вы должны посмотреть, что вызывает перерисовку.

+0

+1. & happy 1K. :) –

+0

@Andrew спасибо. – dan

+0

Спасибо большое @dan, Да, это было из-за перерисовки. –

Смежные вопросы