Программирование на JAVA

Сначала выполняется подпрограмма COMPUTE, которая генерирует n первых строк текста, затем — подпрограмма PRINT, отправляющая первую строку на принтер. Однако вместо того чтобы дожидаться окончания процесса печати строки, подпрограмма PRINT может временно приостановить свое выполнение и передать управление програм­ме COMPUTE. Когда принтер будет готов к печати следующей строки, он оповес­тит об этом процессор, выдав сигнал запроса прерывания. В ответ процессор пре­рвет выполнение подпрограммы COMPUTE и передаст управление подпрограмме PRINT. Подпрограмма PRINT отправит на принтер вторую строку и снова при­остановит свою работу. Прерванная программа COMPUTE продолжит работу с точки прерывания. Этот процесс может продолжаться до тех пор, пока не будут напечатаны все n строк и подпрограмма PRINT не закончит свою работу. Когда следующие n строк будут готовы для печати, выполнение подпрограм­мы PRINT начнется сначала. И если на формирование подпрограммой COM­PUTE n строк текста понадобится больше времени, чем на их печать, процессор все время будет занят полезными вычислениями.

Этот пример иллюстрирует концепцию прерываний. Программа, выполняе­мая в ответ на запрос прерывания, называется программой обработки прерыва­ний


<< назад вперед >>