В C# Таймер или поток.Спать

Для начала скажу, что я зарабатываю через вот этого брокера, проверен он временем! А вот хороший пример заработка, человек зарабатывает через интернет МНОГО МНОГО МНОГО и показывает все на примерах, переходи и читай! Добавь страницу в закладки. А теперь читаете информацию ниже и пишите свой отзыв

Я работала служба Windows и с помощью петли и резьбы.Сна, чтобы повторить задачу, было бы лучше, чтобы использовать метод таймера?

Если да, то пример кода было бы здорово

В настоящее время я использую этот код, чтобы повторить

int curMinute; int lastMinute = DateTime.Now.AddMinutes(-1).Minute;  while (condition) {    curMinute = DateTime.Now.Minute;     if (lastMinute < curMinute) {          // do your once-per-minute code here          lastMinute = curMinute;    }     Thread.Sleep(50000);      // sleeps for 50 seconds     if (error condition that would break you out of this) {        break;      // leaves looping structure    } } 

Я бы сказал, сон-это лучше реализации с государственной машиной за ним. Это будет по-прежнему держать вас в управление заявки во все времена, но позволяет любой ответ нужен в любой конкретный момент времени. Это также будет обрабатывать обратные вызовы таймера, короче “время выполнения обработки в петле”

Например..

<!-- language: c# --> public enum State {     Idle = 0,     Processing = 1,     Stop = 100, } public void Run() {     State state = State.Idle;   // could be a member variable, so a service could stop this too      double intervalInSeconds = 60;     System.DateTime nextExecution = System.DateTime.Now.AddSeconds(intervalInSeconds);     while (state != State.Stop)     {         switch (state)         {             case State.Idle:                 {                     if (nextExecution > System.DateTime.Now)                     {                         state = State.Processing;                     }                 }                 break;             case State.Processing:                 {                     // do your once-per-minute code here                      // if you want it to stop, just set it state to stop.                     // if this was a service, you could stop execution by setting state to stop, also                     // only time it would not stop is if it was waiting for the process to finish, which you can handle in other ways                      state = State.Idle;                     nextExecution = System.DateTime.Now.AddSeconds(intervalInSeconds);                 }                 break;             default:                 break;         }          System.Threading.Thread.Sleep(1);     } } 
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*