|
|
|
|
Strumenti |
23-02-2022, 09:16 | #1 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
[C# WinForm] Thread.Sleep() VS Timer() su una serie di azioni nel tempo
Buongiorno,
ho un dubbio che mi perseguita, credo di avere fatto un errore di programmazione, mi piacerebbe sapere il vostro parere: In un progetto WinForm in C# ho da eseguire un certo numero di azioni ripetitive in un certo lasso di tempo, faccio un esempio: Da un database estraggo dei parametri con i quali devo fare delle azioni, possono variare nel numero, da 30 a 500 circa, per ogni ciclo e quindi ogni azione deve esserci una pausa che può variare da 10 minuti ad 1 ora, sotto ho messo la struttura sintetizzata di come eseguo queste azioni: Codice:
string[] myParam = dbManager.GetActionList(); foreach (string param in myParam) { myAction(param); Thread.Sleep(***); //da 15 minuti ad 1 ora } private void myAction(string _param) { //le azioni che devo fare // ** // ** } Grazie molte per qualsiasi consiglio. |
26-02-2022, 13:53 | #2 |
Senior Member
Iscritto dal: Aug 2003
Messaggi: 1168
|
Ti consiglio assolutamente di usare un timer per una pausa cosi lunga.
Non ha senso impegnare un thread per metterlo in attesa cosi tanto.
__________________
VENDITORI ONESTI: krieger, Corrente Elettrica, Cina.Z, Poliacido, Fedemike82, Lucas01, rikop, SystemR89 VENDITORI DA EVITARE: Ancora nessuno |
26-02-2022, 14:53 | #3 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Un Thread in Sleep cosa impegna?
O meglio, se ci fossero 100 Thread aperti in Sleep cosa impegnerebbero, RAM CPU o nulla? |
26-02-2022, 15:49 | #4 | |
Senior Member
Iscritto dal: Aug 2003
Messaggi: 1168
|
Quote:
Perciò bisogna tentare di utilizzare i thread solo per il tempo necessario ed evitare di tenerli inutilmente in sleep. La cpu e memoria impegnata dipendono molto dal compito assegnato un thread, ma rispetto ad un efficiente e semplice Timer a mio parere non sono proprio la scelta da fare per adempiere al tuo compito.
__________________
VENDITORI ONESTI: krieger, Corrente Elettrica, Cina.Z, Poliacido, Fedemike82, Lucas01, rikop, SystemR89 VENDITORI DA EVITARE: Ancora nessuno |
|
26-02-2022, 21:42 | #5 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Ok, ora è chiarissimo, provvedo a fare una modifica, ti ringrazio!
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:22.