37 messaggi dal 12 ottobre 2005
salve a tutti,
ho la necessità di creare un thread all'interno di un programma che esegua un loop infinto.
quando dichiaro il thread
Thread engineThread = new Thread(new ThreadStart(myE.start()));

passando il metodo che contiene il loop infinito quest'ultimo inizia subito a ciclare senza aspettare il comando
engineThread.Start();

e di fatto non restituendo mai il controllo alla classe che crea il thread.
cosa sbaglio?

premetto che non ho mai usato i thread in .NET

grazie
2.410 messaggi dal 13 febbraio 2003
Contributi
ho la necessità di creare un thread all'interno di un programma che esegua un loop infinto.


dai un occhiata qui
http://csharpdevelop.blogspot.com/2004/05/writing-infinite-loop.html
37 messaggi dal 12 ottobre 2005
grazie ma non ho bisogno di sapere come controllare un infinite loop, ho bisogno di sapere come lanciare il metodo in un thread in maniera corretta
2.410 messaggi dal 13 febbraio 2003
Contributi
Correggi il codice con:

Thread engineThread = new Thread(new ThreadStart(myE.Process)); 
engineThread.Start();
37 messaggi dal 12 ottobre 2005
cosa deve contenere myE.Process?
deadme ha scritto:
cosa deve contenere myE.Process?


myE.Process è semplicemente un puntatore. In pratica nel tuo codice l'errore che commetti è "richiamare" la funzione "start" (seguita dalle parentesi tonde) anziché dichiararne il puntatore (senza le parentesi).

Prova così:


Thread engineThread = new Thread(new ThreadStart(myE.start));

Matteo Casati
GURU4.net
37 messaggi dal 12 ottobre 2005
ci siamo quasi..
l'ultima domanda è:
myE.start è di tipo ThreadStart, che valore gli passo nel return?
37 messaggi dal 12 ottobre 2005
ok risolto.
myE.start è di tipo void e non ha return

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.