2010-02-23 12 views
5

Ich erstelle eine Konsolenanwendung, in der ich eine Methode aufrufen muss, die eine Liste von JOBS ausführt. Aber ich möchte, dass diese Methode keinen Einfluss auf Hauptanwendung hat, wird es nur tun, es ist Jobs .. das ist alles..net C#: Einen asynchronen Prozess erstellen

+0

Und was diese Arbeitsplätze aussehen? Irgendwelche geteilten Daten? –

Antwort

1

einen Blick auf this article nehmen.

Probe:

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; 
    } 
} 
Verwandte Themen