Domandona:
In un progetto faccio abbondante uso del multithread.
Visto che ogni nuovo thread fa delle operazioni su alcuni file e sul db anche abbstanza pesanti ho dovuto inserire un limitatore e mi sono inventato un lavoro del genere:
Il tutto funziona decentemente...ora però vorrei un attimino ottimizzarlo inserendo nel ciclo while un Thread.CurrentThread.Sleep(100)....giusto per evitare sprechi inutili di cpu.codice:While Process.GetCurrentProcess.Threads.Count > 100 Debug.Print("THREADCOUNT: " & Process.GetCurrentProcess.Threads.Count) End While ReDim Preserve Th(UBound(Th) + 1) Th(UBound(Th)) = New Threading.Thread(AddressOf ExecuteThread) Th(UBound(Th)).Start(S)
La domanda però è questa: il thread.sleep mi freeza solo il thread corrente o anche tutti gli altri thread che ho aperto?
p.s.
Se per caso avete soluzioni migliori per impostare il massimo numero di thread che girano contemporaneamente fatevi avanti.
![]()