Question

Je dois mettre en œuvre quelque chose. Quelque chose qui pourrait faire certaines tâches dans mon programme. Par exemple, toutes les dix secondes, écrivez quelque chose dans un journal dans un fichier. Bien sûr, cela suppose de fonctionner dans un fil d’arrière-plan.

Où devrais-je creuser? Je ne suis pas si familier avec le multithreading. J'ai entendu parler de la classe BackgroundWorker, mais je ne suis pas sûre que ce soit approprié ici.

Était-ce utile?

La solution

Utilisez System.Threading.Timer, il exécutera une tâche dans un thread ThreadPoool. C’est le moyen le plus efficace pour cela.

Voici un exemple toutes les 10 secondes:

Timer aTimer = new System.Threading.Timer(MyTask, null, 0, 10000);

static void MyTask(object state)
{
  ...
}

Autres conseils

En fait, pour WPF, DispatcherTimer serait bien meilleur que le minuteur asynchrone.

Vous pouvez utiliser la classe backgroundworker pour cela, mais il semble que vous ayez juste besoin d'utiliser Timer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top