1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Вопрос по C#

Тема в разделе 'Программирование', создана пользователем ProName, 24 мар 2014.

  1. TopicStarter Overlay

    ProName Пользователи

    Сообщения:
    50
    Лайки:
    35
    Репутация:
    0
    Например у меня есть метод UpdateList, мне нужно что бы он повторялся каждые 10 секунд. Пробовал через Thread.Sleep(10000), но программа тупо зависает. Как еще можно это сделать?
  2. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    948
    Пол:
    Мужской
    Репутация:
    6
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
    Используй компонент Timer и событие Tick.
  3. Joslian AngeliCore Программист Пользователи Open Source Contributor

    Сообщения:
    1.051
    Лайки:
    537
    Пол:
    Мужской
    Репутация:
    2
    После Thread.Sleep(10000); поставь вызов этого же метода
  4. alekill Пользователи

    Сообщения:
    166
    Лайки:
    27
    Репутация:
    0
    Команда:
    GreenCat
    Либо Timer, либо извращения вроде создания второго потока и там Thread.Sleep(10000);
  5. TopicStarter Overlay

    ProName Пользователи

    Сообщения:
    50
    Лайки:
    35
    Репутация:
    0
    Так и стоит но прога тупо зависает forever
  6. JoLan Команда форума Администратор AngeliCore Программист

    Сообщения:
    1.061
    Лайки:
    948
    Пол:
    Мужской
    Репутация:
    6
    Команда:
    AngeliCore
    Страна:
    Russian Federation Russian Federation
    Зависает, потому что ты программно вешаешь основной поток на 10 секунд. Либо, как говорит alekill, извращайся со вторым потоком, в котором будет метод UpdateList и вешай его. Либо используй Timer и по Tick вызывай нужный метод.

    Со вторым потоком ты сделаешь аналог уже готового Timer, вот только оно тебе нужно, если это сделано до тебя?
  7. apfilipp AngeliCore Пользователи

    Сообщения:
    66
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    1
    Будет выглядеть примерно так: new Thread(() => {UpdateList(); Thread.Sleep(10000);} ).Start();
Черновик сохранён Черновик удалён
Similar Threads
  1. Lesovski
    Ответов:
    2
    Просмотров:
    981
  2. girasim13
    Ответов:
    2
    Просмотров:
    1.110
  3. bulik98
    Ответов:
    1
    Просмотров:
    1.106
  4. darkworld
    Ответов:
    9
    Просмотров:
    2.025
  5. FasT
    Ответов:
    12
    Просмотров:
    2.075
Загрузка...

Поделиться этой страницей