После некоторых проблем с настройкой потока для запуска моего MIDI-секвенсора я решил просто удалить его, хотя это замедлит мой пользовательский интерфейс, и я смогу использовать его правильно.
Однако я заметилбыло то, что даже во время игры в Sequencer пользовательский интерфейс был очень активным, даже если он играл около 500 нот, пользовательский интерфейс работал отлично.
Теперь я знаю, что в C #, если вы делаете что-то интенсивное, желательнозагрузите его в новый поток, поскольку он освободит пользовательский интерфейс.Это тот же принцип в 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
}