시간제 노동자 - 페이지 6

 
Yurich :
인터럽트는 OnTick이 실행되고 OnTimer와 같은 더 중요한 이벤트가 도착했을 때입니다. OnTick의 실행이 일시 중단되고 OnTimer 코드가 실행된 다음 OnTick이 계속해서 다시 실행됩니다.
킥애스. 예, 끔찍한 꿈입니다.
 
pusheax :

OnTimer, OnTick, OnTrade... 이들은 인터럽트입니다.

나도 처음에는 그렇게 생각했다. 그러나 옵션이 있습니다. 예를 들어, 우리는 인터럽트라는 단어로 OnTimer 스레드를 표시할 수 없으며 OnTimer 이벤트가 발생하면 이벤트의 순간에 정확히 호출되어 다른 이벤트의 처리를 중단한다는 것을 알 수 있습니다(단일 스레드 MSDOS 체계에 따라 - 스택 저장, 인터럽트 처리, 스택 복원, 제어 이전) . 그러한 계획은 더 간단한 방법으로 많은 문제를 해결할 수 있습니다. 예를 들어, 그러한 계획에 따라 호출된 OnTik은 꽤 좋아 보입니다. 여기에는 미묘함이 있습니다. 반복되는 입력 처리가 필요하지만(예: 작은 간격이 있는 두 개의 눈금) 일반적으로 해결할 수 있습니다.
 
TheXpert :
킥애스. 예, 끔찍한 꿈입니다.
사실 Yurich는 OnTick, OnTimer 인터럽트 처리가 아니라 고전적인 의미에서 인터럽트를 정확히 설명했습니다.
 
예를 들어 누군가가 OnTick 핸들러에 Sleep (100000)을 넣으면; 글쎄, 이제 OnTimer , OnTrade는 전혀 살지 않거나 무엇입니까?
 
TheXpert :
킥애스. 예, 끔찍한 꿈입니다.

아니, 끔찍하지 않습니다. 문제를 피하는 방법에 대한 고대 계획이 개발되었습니다.

하지만 여전히 꿈입니다. 나는 개발자들이 이것을 할 것이라고 믿지 않는다. 장점은 부인할 수 없지만.

예를 들어 OnTimer에서 백그라운드 계산을 타이머 기간의 절반 동안 작은 빈도(약 5초에 한 번)로 실행할 수 있습니다. 그리고 단순히 백그라운드 계산을 중단한 다음 올바른 위치로 올바르게 되돌릴 수 있는 틱 처리에 대해 걱정할 필요가 없습니다. 그리고 이제 눈금이 똑딱거리는 동일한 스레드에서 올바르게 처리하는 것보다 별도의 차트에 넣는 것이 더 쉽습니다. 같은 스트림에 있는 모든 사람에게 충분한 시간이 있지만.

 
pusheax :
예를 들어, OnTick 핸들러에서 누군가 Sleep(100000); 글쎄, 이제 OnTimer , OnTrade는 전혀 살지 않거나 무엇입니까?

타이머 및 새 틱의 이벤트는 무시됩니다. 거래 이벤트 는 대기열에 남아 처리됩니다.

Tick, Trade, Timer 이벤트와 해당 OnTick, OnTrade, OnTimer 처리기를 혼동하지 마십시오.

 
pusheax :
예를 들어 누군가 Sleep(100000);을 OnTick 핸들러에 넣으면; 글쎄, 이제 OnTimer , OnTrade는 전혀 살지 않거나 무엇입니까?
이제 그것이 바로 그것입니다. 그러나 자살은 쉽습니다. 화면에 메시지 상자가 있고 부엌에서 차를 마시고 있을 때 더 나쁘다. Yurich는 미묘하게 말했습니다.
 
stringo :
사실 Yurich는 OnTick, OnTimer 인터럽트 처리가 아니라 고전적인 의미에서 인터럽트를 정확히 설명했습니다.

나는 그가 설명한 것을 이해합니다.

단일 스레드 응용 프로그램에서 데이터를 동기화하고 액세스를 관리하는 것은 미친 짓입니다.

 
MetaDriver :
이제 그것이 바로 그것입니다. 그러나 자살은 쉽습니다. 화면에 메시지 상자가 있고 부엌에서 차를 마시고 있을 때 더 나쁘다. Yurich는 미묘하게 말했습니다.
이제 Timer 이벤트 자체가 발생하지만 OnTick이 완료될 때까지 OnTimer 처리가 지연된다는 것을 이해합니다.
Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Программы MQL5 / События клиентского терминала - Документация по MQL5
 
pusheax :
그것이 작동하는 방식입니다.
만약 :)