Greets-Java ridurre l'utilizzo della CPU
Abbiamo gots alcune nutters nel lavoro che godono utilizzando
while(true) { //Code }
nel loro codice. Come puoi immaginare, questo supera la CPU. Qualcuno sa come ridurre l'utilizzo della CPU in modo che anche altre persone possano utilizzare il server.
Il codice stesso esegue costantemente il polling di Internet per gli aggiornamenti sui siti. Quindi immagino che un piccolo metodo di sleep ridurrebbe di molto l'utilizzo della CPU.
Anche tutte le manipolazioni sono in corso in oggetti String (Java). Qualcuno sa quanto gli StringBuilder potrebbero ridurre l'overhead di?
Grazie per tutti i puntatori
'while (true)' è semplicemente un idioma che dice "fallo per sempre". Di per sé, non fa nulla; il codice al suo interno è ciò che consuma i cicli della CPU. Se il codice all'interno sta facendo richieste di rete, allora si arrenderà il suo timeslice quando lo fa, così gli altri utenti otterranno il loro; un 'sleep()' non dovrebbe influenzare in modo significativo il throughput complessivo del server (anche se sarebbe una cosa carina per quei server che vengono colpiti dal programma). E infine, 'StringBuilder' potrebbe o (più probabilmente) potrebbe non migliorare le prestazioni. Ma questo è il motivo per cui esistono i profiler: possono dirti che cosa impiega più tempo nel programma. – kdgregory
Come sempre eseguire un profiler per identificare dove va la cpu. Quindi utilizzare tali dati per battere lo sviluppatore responsabile in testa. –
Quale sistema operativo? –