Mam interesujące ćwiczenie do rozwiązania od mojego profesora. Ale potrzebuję odrobiny pomocy, żeby nie nudzić się podczas wakacji.Jak rozpocząć tworzenie wielowątkowego systemu równoważenia obciążenia?
ćwiczenia jest
- tworzyć wielowątkowe równoważenia obciążenia, który czyta 1 punkt pomiarowy z 5 czujników w każdej sekundzie. (dlatego 5 wartości na sekundę).
- Następnie wykonaj kilka "złożonych" obliczeń z tymi wartościami.
- Drukowanie wyników obliczeń na ekranie. (jak maksymalna wartość lub średnia wartość czujnika 1-5 itd., oczywiście wielowątkowe)
- Jako dodatkowe zadanie muszę się również upewnić, że jeśli w przyszłości na przykład odczytywanych będzie 500 czujników co sekundę, komputer nie robi tego ". t opuścić zadanie. (równoważenie obciążenia).
Mam plik tekstowy CSV z ~ 400 punktami pomiarowymi z 5 wyimaginowanych czujników.
Co myślę, że mam do zrobienia:
- Czytaj punkty pomiarowe do tablicy
- Zapewnienie wątku bezpieczny dostęp do tej tablicy
- tarło nowy wątek dla każdej wartości, który oblicza trochę matematyki rzeczy
- ustawiona wartość mAX dla maksymalnych jednoczesnych wątków roboczych
Jestem nowy wielowątkowość aplikacyjne ns w C# ale myślę, że używanie threadpool jest właściwą drogą. Obecnie pracuję nad kolejką i może uruchamiam ją wewnątrz zadania, więc nie będzie blokować aplikacji.
Co byś polecił?
Czy zamierzasz obliczyć średnie wartości Max, niezależnie dla każdego czujnika? – alexm
tak, to jest "projekt". powinien jakoś skalować się ze wzrostem czujników, ale nie powinien zabijać procesora .... –
lub co ważniejsze: nie powinien zabijać aplikacji i jej funkcji. –