2012-03-21 3 views
1

Je le code suivant:C# Thread.Sleep() dans la minuterie

int i = 5000; 
Console.WriteLine("waiting" + i + "miliseconds"); 
System.Threading.Thread.Sleep(i); 
i = 3000; 
Console.WriteLine("waiting" + i + "miliseconds"); 
System.Threading.Thread.Sleep(i); 
Console.WriteLine("finish"); 

Pendant le sommeil de mon programme ne répond pas. Comment le sommeil peut-il être traduit dans les fonctions de la minuterie?

+0

Utilisez-vous des winforms? – Msonic

+0

qu'essayez-vous d'accomplir? – daryal

+0

@Msonic une application de console simple semble plus probable. OP, quelle réponse attendez-vous? – Jodrell

Répondre

1

Pendant le sommeil répond mon doesnt programm

... Eh bien oui, c'est ce que vous dire à faire. Vous suspendez le thread principal, alors comment pourrait-il faire autre chose que d'attendre?

Si vous voulez lancer un thread d'arrière-plan ou une minuterie, vous devrez utiliser une de ces classes. Vous n'expliquez pas ce que vous essayez réellement d'accomplir ici, donc le meilleur conseil que je puisse donner est d'aller chercher un exemple de code pour les cours (il y en a quelques Timer, choisissez celui qui vous convient le mieux essayons de faire).

+0

Merci. Je vais essayer. –

1

Dans ce cas, vous devez configurer un véritable Timer. S'il vous plaît voir le suivant example of how to do this. Vous ne pouvez pas avoir votre code de sommeil et de passer en même temps. Le plus proche que vous pourriez avoir à quelque chose comme ça est si vous voulez utiliser la fonctionnalité C# 5.0 async. Au minimum, il semble que ce que vous recherchez est d'écrire asynchronous programming. Si vous suivez les liens ou effectuez vos propres recherches google autour de ces sujets, cela devrait vous aider.

+0

Merci, je vais essayer. –