Ho un esercizio interessante da risolvere dal mio professore. Ma ho bisogno di un po 'di aiuto in modo che non diventi noioso durante le vacanze.Come posso iniziare a creare un bilanciamento del carico con multithreading?
L'esercizio è
- creare un bilanciamento del carico multithread, che legge 1 punto di misura da 5 sensori ogni secondo. (quindi 5 valori ogni secondo).
- Quindi eseguire alcuni calcoli "complessi" con tali valori.
- Stampa dei risultati dei calcoli sullo schermo. (come valore massimo o valore medio del sensore 1-5 e così via, ovviamente multithread)
- Come ulteriore compito devo anche assicurarmi che se nel futuro ad esempio 500 sensori sarebbero letti ogni secondo il computer non lo fa t esci dal lavoro (bilanciamento del carico).
Ho un file di testo CSV con ~ 400 punti di misurazione da 5 sensori immaginari.
Quello che penso di avere a che fare:
- Leggere i punti di misura in un array
- Garantire filo accesso sicuro a tale matrice
- Spawn un nuovo thread per ogni valore che calcola alcune cose di matematica
- impostare un valore massimo per un massimo di discussioni di lavoro simultanei
sono nuovo di multithreading applicatio ns in C# ma penso che usare threadpool sia la strada giusta. Attualmente sto lavorando su una coda e forse l'avvio all'interno di un'attività in modo che non bloccherà l'applicazione.
Cosa raccomanderesti?
Avete intenzione di calcolare i valori medi, massimi in modo indipendente per ogni sensore? – alexm
sì, questo è il "design". dovrebbe scalare in qualche modo con l'aumento dei sensori ma non dovrebbe uccidere il processore .... –
o più importante: non dovrebbe uccidere l'applicazione e la sua funzione –