Alternative all'uso dei Thread

giovedì 19 maggio 2011 - 16.45
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008

Bazzi Profilo | Junior Member


Ciao a tutti,

sto sviluppando un tool per la compilazione automatica di programmi COBOL che userò in ufficio e mi sto addentrando nello studio dei Thread.
In pratica quello che cerco di fare è, preso un elenco di programmi, lancio un thread che esegue la compilazione dei singoli file e per ognuno di essi, viene aggiunta una riga in un datagrid a video che riporta il nome del programma e l'esito.
Avrei però la necessità di fermare o "mettere in pausa" la compilazione per vari motivi...secondo voi è corretto utilizzare i thread per questo tipo di problematica ?
Esistono alternative ? Oppure quale sarebbe la soluzione più pulita ?
Se avete sotto mano tutorial, postatemeli che vado a studiarmeli...

Grazie !
The Bazz

luigidibiasi Profilo | Guru

se il thread compila il sorgente puoi usare thread.pause

se il thread lancia un altro eseguibile (presumo il compilatore cobol) non puoi bloccarlo ma devi attendere che finisca di compilare il file che sta processando
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

Bazzi Profilo | Junior Member

Ciao e grazie !
Leggendo la mia domanda però, mi sono reso conto che è un po' incomprensibile...il thread si occupa di prendere l'elenco dei programmi e compilarli uno alla volta. La compilazione del singolo sorgente ovviamente non può essere messa in pausa.
Provando a scrivere il mio tool, però, ho notato che Thread.Suspend non me lo accetta...dice che l'istruzione è deprecata...

Allora ho risolto così :

Il thread prende l'elenco dei programmi, cicla e compila.
Un paio di Push Button sulla form impostano rispettivamente la variabile booleana di pausa e quella di stop.
Quando la variabile di pausa è True, il thread rimane nel ciclo ma non elabora l'elenco dei programmi e riprende quando la variabile viene messa a False.
Quando la variabile di stop è True, il thread esce dal ciclo e termina.

Mi sto chiedendo però se sia la soluzione migliore oppure ci siano metodi stilisticamente più eleganti...tanto il mio progetto l'ho messo in piedi prevalentemente per imparare, quindi qualsiasi dritta è ben accetta !!

Ciao
The Bazz
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5