在设置线程来启动我的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