Сравнение таймера с DispatcherTimer

Используя hashmaps в C++ легко! Это похоже на использующую стандартную карту C++. Можно использовать Ваш, реализация компилятора/библиотеки unordered_map, или используйте тот, обеспеченный повышение , или некоторый другой поставщик. Вот быстрый образец. Вы найдете больше, если Вы перейдете по ссылкам, Вам дали.

#include 
#include 
#include 

int main()
{
    typedef std::tr1::unordered_map< std::string, int > hashmap;
    hashmap numbers;

    numbers["one"] = 1;
    numbers["two"] = 2;
    numbers["three"] = 3;

    std::tr1::hash< std::string > hashfunc = numbers.hash_function();
    for( hashmap::const_iterator i = numbers.begin(), e = numbers.end() ; i != e ; ++i ) {
        std::cout << i->first << " -> " << i->second << " (hash = " << hashfunc( i->first ) << ")" << std::endl;
    }
    return 0;
}

97
задан p.campbell 11 July 2009 в 00:22
поделиться

1 ответ

Windows.Forms.Timer использует цикл сообщений форм Windows для обработки событий таймера. Его следует использовать при записи событий синхронизации, которые используются в приложениях Windows Forms, и вы хотите, чтобы таймер запускался в основном потоке пользовательского интерфейса.

DispatcherTimer - это механизм синхронизации WPF. Его следует использовать, если вы хотите обрабатывать время аналогичным образом (хотя это не ограничивается одним потоком - каждый поток имеет свой собственный диспетчер), и вы используете WPF. Он запускает событие в том же потоке, что и Диспетчер.

В общем, WPF == DispatcherTimer и Windows Forms == Forms.Timer .

При этом, как говорится, есть также System.Threading.Timer , который является классом таймера , который запускается в отдельном потоке. Это хорошо для чисто числовой синхронизации,

111
ответ дан 24 November 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: