Je ne suis pas sûr que je ne comprends exactement ce que vous voulez, mais il est peu probable que vous obtiendrez en utilisant un fil sungle et une boucle sans fin vide. Tout d'abord, ce programme utilisera au plus un thread système et, par conséquent, un seul cœur CPU. Deuxièmement, le compilateur hotspot est susceptible d'optimiser votre boucle vide (ou toute opération arithmétique ou assignation à une variable qui ne sera jamais utilisée). Donc quoi que vous vouliez accomplir, vous devez faire quelque chose que l'optimiseur n'essaiera pas d'améliorer. Donc ...
Si vous voulez ralentir l'exécution d'un programme (plutôt que l'), alors répartissez autour de Thread.sleep (1000). La machine virtuelle Java renvoie ce temps au système d'exploitation. Si votre intention est de faire travailler la JVM en attendant un événement externe (comme dans "calculer les bogomips du système"), alors vous devriez exécuter du code qui aura un effet secondaire, de sorte que l'optimiseur a gagné ' t supprimer les allocations variables inutiles. Vous pouvez, par exemple, faire des opérations arithmétiques sur un tableau, puis System.out.print() (ou n'importe quoi d'autre ...) n'importe quelle valeur de ce tableau. Notez cependant que votre processus sera toujours limité à un thread unique, et que si votre processus n'effectue aucune opération d'E/S pendant une longue période, il sera très probablement dépriorisé par le système d'exploitation, alors ne vous attendez pas à une fiabilité excessive de ce type. technique de mesure.
Si vous cherchez à caler le système, vous devez exécuter plusieurs threads, et leur faire faire soit des allocations de mémoire intensives, les opérations d'entrées-sorties, ou l'exécution du programme externe. Vous pouvez, par exemple des milliers de threads exécuter, chacun les od courir une boucle qui exécute un programme Java externe qui alloue des tampons énormes, puis d'écrire le contenu de ce tampon dans un fichier ... Eh bien, vous avez l'idée;)
Assez ironique compte tenu de votre surnom. Pourquoi ne pas essayer de lire quelque chose lentement et souvent? – icedwater
C'est une question ridicule, mais OK.Créer un tas de threads et les exécuter tous, avec toutes leurs exécutions étant une boucle infinie. Ça va créer beaucoup de "lag" puis finalement écraser la JVM – Kon
Haha oui c'est très bizarre mais je fais quelques expériences pour voir combien certains ordinateurs peuvent gérer. – Confiqure