Thread

mercoledì 08 marzo 2006 - 10.00

secks Profilo | Senior Member

Ho un dubbio che vorrei sottoporre:
ho una tabellina di work in access che uso come appoggio per una attività di scrittura scontrini di una cassa di negozio.
Una volta che lo scontrino viene stampato leggo la tabellina di work per portare il dati prima nella tabella effettiva di un altro database e poi in un'altra tabella di backup di un'altro database ancora, Alla fine la tabellina di work viene pulita di tutti i record per metterla a disposizione per una nuova vendita.
Per eseguire le suddette fasi il mio programma su VB.NET su Windows ovviamente ci mette qualche secondo prima di porre il sistema in grado di eseguire una nuova operazione di vendita.
Mi chiedevo se fosse conveniente mettere queste operazioni di scrittura in un thread oppure c'è il rischio che si vada ad inserire nella tabellina di work record nuovi quando quelli vecchi non sono ancora stati eliminati?

Ciao a tutti.
Paolo.

Ciciu Profilo | Senior Member

Ciao.
Secondo me quello che puoi fare è aggiungere un campo alla Tua tabella di work, che identifichi le righe appartenenti allo stesso scontrino (può bastare un numero sequenziale).
Fatto questo, potrai implementare una procedura che elabori lo scontrino numero "xyz" (che Tu hai messo nella tabella di Work). Ovviamente, la procedura elaborerà SOLO le righe che hanno quell'id (passato, magari, come parametro).
A questo punto, la Tua procedura potrà anche essere un thread, tanto non andrà ad influire su eventuali nuove righe...
Attenzione, però, alla concorrenza sul DB : lanciare un nuovo thread, significa avere un nuovo processo "parallelo", che accede agli stessi dati di DB...

Ciao - Fabio

Fabio G

secks Profilo | Senior Member

Non ci dovrebbe essere concorrenza al DB in quanto il numero scontrino sarà la chiave per raggruppare le righe di competenza, di conseguenza ogni thread andrà a cancellare solo le righe appartenenti ad un determinato numero di scontrino.
Il nuovo scontrino avrà un numero diverso ... e il PC può avere un solo utente/operatore.
Non dovrebbero esserci problemi.

Ciciu Profilo | Senior Member

Hai ragione... Ma io non parlavo della concorrenza sulle tabelle di Works ! Il Tuo problema potrebbe essere la concorrenza sulle tabelle di destinazione...
E poi, considera che l'utilizzo dei thread, in quanto processi indipendenti, corrisponde all'avere più utenti/operatori sullo stesso db !

Ciao - Fabio
Fabio G
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5