alarm()
전송되는 2가지 다른 경고를 어떻게 처리합니까 ?
A=5
예를 들어, and 가 있는 경우 를 사용하지 않고 몇 초 후에 하나의 작업을 수행하고 몇 초 후에 다른 작업을 수행하도록 B=10
프로그램에 어떻게 지시할 수 있습니까 ?A
B
sleep()
이 질문을 하는 주요 목적은 동일한 프로그램에서 두 가지 다른 경고를 처리하는 방법을 이해하는 것입니다.
답변1
당신은 그들을 한 번에 하나씩 처리합니다. 먼저 몇 초 동안 알람을 설정합니다 A=5
. 알람이 울리면 원하는 작업을 수행한 후 몇 B-A = 10-5 = 5
초 동안 또 다른 알람을 설정하세요. 점화 후에는 다른 작업을 수행하십시오.
또는 일반적으로 시간이 지정된 작업을 정렬된 목록에 저장하고 첫 번째 작업이 완료될 때까지 남은 시간에 대해 항상 알람을 프로그래밍하도록 합니다.
더 일반적으로는 동시에 다른 작업을 수행할 수 있으므로 일종의 이벤트 루프가 있을 수 있습니다. 이 경우 이벤트 루프(아마도 호출)에서 시간 제한을 select()
대신 사용 alarm()
하고 기본 프로그램에서 시간 제한 작업을 실행할 수 있습니다. 이렇게 하면 다른 작업을 수행하는 중에 경고가 발생하더라도 문제가 되지 않으며 작업을 엉망으로 만드는 동시 처리가 없습니다.