Мне нужно что-то реализовать. Что-то, что может сделать определенную задачу в моей программе. Например, каждые десять секунд записывайте что-то в журнал в файл. Конечно, он должен работать в фоновом потоке.
Где я должен копать? Я не очень хорошо разбираюсь в многопоточности. Я слышал о классе BackgroundWorker, но я не уверен, что это уместно здесь.
Используйте System.Threading.Timer, он запустит задачу в потоке ThreadPoool. Это самый эффективный способ для этого.
Вот пример, каждые 10 секунд:
Timer aTimer = new System.Threading.Timer(MyTask, null, 0, 10000);
static void MyTask(object state)
{
...
}
Фактически для WPF DispatcherTimer будет намного лучше, чем таймер Async.
Для этого можно использовать класс backgroundworker, но похоже, что вам просто нужно использовать таймер.