2012-10-10 120 views
1

在java小程序中,我繪製圖表由JCChart。現在在我觀察任務計劃程序時繪製圖表後,它顯示Java.exe對CPU的利用率仍然高於50。現在我使用JConsole插件來觀察Java中的哪個線程佔用了大量的CPU資源。然後它顯示AWT-EventQueue-2正在佔用主要時間並且此線程處於Runnable狀態並且從不啓動。以及它做的是一些像下面..如何殺死或停止java applet中的其他線程

 
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中停止線程的推薦方法是以線程自行完成執行的方式實現邏輯。如果你有一個循環,你可以考慮根據一個動作來結束它(例如用戶點擊完成的停止按鈕)。從你的細節看來,applet正在重新繪製。可能你應該看看觸發重繪的是什麼。

+0

+1。 &開心1K。 :) –

+0

@安德魯謝謝。 – dan

+0

非常感謝@dan,是的,這是由於重畫。 –