2010-02-23 6 views
5

Je crée une application de console, dans laquelle j'ai besoin d'appeler une méthode, qui fera une liste de tâches. Mais je veux que cette méthode n'a aucun impact sur l'application principale, elle fera juste ses travaux .. c'est tout..net C#: Création d'un processus asynchrone

+0

Et qu'est-ce que ces emplois ressemblent? Des données partagées? –

Répondre

1

Jetez un oeil à this article.

Exemple:

using System; 
using System.Threading; 

public class ServerClass 
{ 
    // The method that will be called when the thread is started. 
    public void InstanceMethod() 
    { 
     Console.WriteLine(
      "ServerClass.InstanceMethod is running on another thread."); 

     // Pause for a moment to provide a delay to make 
     // threads more apparent. 
     Thread.Sleep(3000); 
     Console.WriteLine(
      "The instance method called by the worker thread has ended."); 
    } 

    public static void StaticMethod() 
    { 
     Console.WriteLine(
      "ServerClass.StaticMethod is running on another thread."); 

     // Pause for a moment to provide a delay to make 
     // threads more apparent. 
     Thread.Sleep(5000); 
     Console.WriteLine(
      "The static method called by the worker thread has ended."); 
    } 
} 

public class Simple{ 
    public static int Main(String[] args) 
    { 
     Console.WriteLine("Thread Simple Sample"); 

     ServerClass serverObject = new ServerClass(); 

     // Create the thread object, passing in the 
     // serverObject.InstanceMethod method using a 
     // ThreadStart delegate. 
     Thread InstanceCaller = new Thread(
      new ThreadStart(serverObject.InstanceMethod)); 

     // Start the thread. 
     InstanceCaller.Start(); 

     Console.WriteLine("The Main() thread calls this after " 
      + "starting the new InstanceCaller thread."); 

     // Create the thread object, passing in the 
     // serverObject.StaticMethod method using a 
     // ThreadStart delegate. 
     Thread StaticCaller = new Thread(
      new ThreadStart(ServerClass.StaticMethod)); 

     // Start the thread. 
     StaticCaller.Start(); 

     Console.WriteLine("The Main() thread calls this after " 
      + "starting the new StaticCaller thread."); 

     return 0; 
    } 
}