Est-ce que quelqu'un connaît un moyen de verrouiller des threads individuels dans un processus Java à des cœurs de processeurs spécifiques (sous Linux)? J'ai fait cela en C, mais je ne trouve pas comment faire cela en Java. Mon instinct est que cela nécessitera un appel JNI, mais j'espérais que quelqu'un ici pourrait avoir un aperçu ou aurait pu le faire avant.Fil d'affinité Java
Merci!
Voir ma réponse ci-dessous le commentaire de Hassan. Certains threads nécessitent beaucoup d'E/S, d'autres sont gourmands en ressources processeur. Si je bloque les interruptions d'E/S vers un coeur particulier, je voudrais que les threads d'E/S intensifs soient sur des cœurs sur le même socket, et je voudrais protéger les threads gourmands en CPU des E/S . – Dave
@gimpf: comme toujours avec ce type de questionnement: SO n'est pas le "pourquoi", mais le "comment". L'affinité CPU existe pour une raison, il y a une raison pour laquelle il existe des utilitaires sous Linux et Windows pour définir l'affinité CPU du processus. La question de l'OP est une question parfaitement valable qui ne veut pas de "pourquoi" mais de "comment". – SyntaxT3rr0r
@WizardOfOdds: Je doute que le "pourquoi" est interdit sur SO, et comme Java n'est généralement pas le premier langage de programmation pour les réglages de performance liés à la concurrence, je pense qu'un contrôle de santé est valide. – gimpf