Quote Originariamente inviata da iacoposk8 Visualizza il messaggio
bassa priorità vuol dire che lui cerca sempre di andare al 100% o quello che gli serve, però se c'è un processo che ha bisogno del 50% il processo con bassa priorità gliela cede? giusto?
Concettualmente sì*, il modo in cui questo esattamente avviene dipende dall'algoritmo di scheduling impiegato (oltre al fatto che su Windows esistono classi di priorità "magiche" - ad esempio, idle, che schedula il processo quando veramente non ha nient'altro da fare). In alternativa, avendo a disposizione più core puoi impostare l'affinity del processo su uno solo di questi, ovvero imponi al sistema operativo di farlo girare solo su alcuni dei core a disposizione, lasciando sicuramente gli altri core liberi per altro.
Tutto questo è disponibile anche su altri sistemi operativi (per gli OS di famiglia Unix normalmente si parla di "nice value" per l'anti-boost di priorità).

---

* Anche se il concetto che un processo "ha bisogno del 50% di CPU" non ha molto senso. Di base semplicemente un processo può andare in wait (in attesa di qualcosa - IO su disco, socket di rete, eventi dalla GUI, timer, ...) o ritornare eseguibile quando il kernel si accorge che l'attesa è terminata. La percentuale del tempo di CPU effettivamente impiegato (mediata su un qualche periodo) dipende dalla durata delle wait e da quello che combinano le altre applicazioni.