2010-02-23 20 views
5

Sto creando un'applicazione console, in cui è necessario chiamare un metodo, che eseguirà un elenco di LAVORI. Ma voglio che questo metodo non abbia alcun impatto sull'applicazione principale, semplicemente farà i lavori ... tutto qui..net C#: Creazione di un processo asincrono

+0

E che cosa quei lavori assomigliano? Qualche dato condiviso? –

risposta

1

Date un'occhiata a this article.

Esempio:

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; 
    } 
} 
Problemi correlati