Как грамотно притормозить процес ...

Тема в разделе "WASM.BEGINNERS", создана пользователем _sheva740, 12 фев 2008.

  1. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Пишу программку, которая раз в час опрашивает POP сервера.

    Вопрос: как грамотно затормозить процес, так чтобы он замер и не
    отнимать ресурс у остальных.

    Что приходит в голову? :

    - Sleep()
    - Писать что-то типа планировщика, который сам запустит и закроет
    - Оформить все как тред и его тормозить на час
    - понижать привилегии процесса или треда не знаю

    В каком направлении двигаться?
     
  2. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
     
  3. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    ???
    При создании процесса в твоей проге основной поток (через вызов ZwCreateThread/ZwResumeThread) создастся по-любому. Вот с этим потоком и работай, Sleep() его усыпит на определенное время.
     
  4. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    infern0
    steelfactor
    Спасибо.
     
  5. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    _sheva740
    Если будешь юзать Sleep(), то поток не будет отнимать и долю времени, т.к. в этом случае планировщик просто не дает этому потоку время.
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    EvilPhreak
    На самом деле при ожидании с разрешенными APC все-таки управление ингда дается, но до пользовательского кода оно не доходит, крутясь в цикле ожидания внутри KeDelayExecution/KeWaitForSingleObject/etc...
     
  7. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Great
    Спасибо, очень интересно.