在設置線程來啓動我的MIDI音序器之後,我決定簡單地刪除它,雖然它會減慢我的UI,但我可以正確使用它。帶有Swing UI的Java線程
但是我注意到,即使在播放音序器時,UI也非常活躍,即使它在播放大約500個音符時UI的工作效果也很好。
現在我知道在C#中,如果您正在做一些密集的事情,建議將它加載到一個新的線程上,因爲它將釋放UI。在Java中它是一樣的原理,它真的讓我困惑。如果有的話可以解釋一下用戶界面如何被阻止?
感謝
編輯:
下面的代碼實際上扮演的序列
public static boolean Play() {
if(!_sequencer.isRunning()) {
try {
_sequencer.setSequence(_sequence);
_sequencer.start();
return true;
} catch (Exception e) {
Logger.Add(e.getMessage());
}
}
return false;
//Already running
}
它甚至被稱爲['EventQueue'(http://download.oracle.com/javase/6/docs/api/java/awt/EventQueue.html)。 :-) – trashgod 2011-04-17 20:13:40
好,我很習慣評論EDT(Event Dispatch Thread),我忘記了那個名字:)。 – pickypg 2011-04-17 20:15:51
偉大的答案pickypg! – 2011-04-17 20:18:48