Greets-Java zmniejszyć zużycie procesora
Mamy gots kilka nutters w pracy, którzy korzystają z użyciem
while(true) { //Code }
w swoim kodzie. Jak możesz sobie wyobrazić, maksymalizuje to procesor. Czy ktoś wie, jak zmniejszyć wykorzystanie procesora, aby inne osoby mogły również korzystać z serwera.
Sam kod jest po prostu stale odpytywaniem Internetu w poszukiwaniu aktualizacji na stronach. Dlatego wyobrażam sobie, że metoda "krótkiego snu" znacznie zmniejszyłaby zużycie procesora.
Czy wszystkie manipulacje są wykonywane w obiektach String (Java), czy ktoś wie, ile StringBuilders zmniejszyłoby przekroczenie?
Dzięki za wszelkie wskazówki
'while (true)' jest po prostu idiomem mówiącym "rób to na zawsze". Sam w sobie nic nie robi; kod w nim jest tym, co pochłania cykle procesora. Jeśli kod wewnętrzny wysyła żądania sieciowe, to gdy to zrobi, zrezygnuje z czasu, więc inni użytkownicy dostaną swoje; "sleep()" nie powinno znacząco wpłynąć na ogólną przepustowość serwera (chociaż byłoby to miłe dla serwerów, które dostały się do programu). I wreszcie, 'StringBuilder' może lub (co bardziej prawdopodobne) nie może poprawić wydajności. Ale właśnie dlatego istnieje profiler: mogą powiedzieć, co zajmuje najwięcej czasu w programie. – kdgregory
Jak zawsze uruchom profilera, aby określić, gdzie działa procesor. Następnie wykorzystaj te dane, aby pokonać odpowiedzialnego programistę. –
Jaki system operacyjny? –