2011-02-01 16 views
26

Entrambe le righe seguenti funzionano allo stesso modo. ma c'è qualche differenza nascosta? e quale dovrebbe essere preferito?Thread e Thread Start

Thread t1 = new Thread(aMethod); 

Thread t2 = new Thread(new ThreadStart(aMethod)); 

Grazie.

+2

La specifica di un tag di lingua può richiedere più attenzione a questa domanda. C#? –

+0

quale lingua? – Daniel

+0

punti annotati. Grazie. C#. – Azodious

risposta

15

Non c'è differenza. Entrambe le linee sono uguali.

+0

So che non c'è alcuna differenza (provato) ma sarebbe auspicabile supportarlo con eventuali collegamenti aggiuntivi alla documentazione, riferimenti ... – broadband

3

Sono uguali, ma il secondo consente di utilizzare un parametro aggiuntivo nel metodo di avvio del thread (utilizzando bene ParametrizedThreadStart anziché ThreadStart).

6

Il compilatore C# trasformerà l'affermazione Thread t1 = new Thread(aMethod); a Thread t2 = new Thread(new ThreadStart(aMethod));

0

A ThreadStart rappresenta il metodo che viene eseguito su un thread, quindi questo è esattamente la stessa cosa.