2016-05-07 13 views
0

Ich versuche, eine Anwendung zu optimieren, indem Sie ihre Threads an verschiedene Kerne binden. Zunächst möchte ich die gesamte Anwendung mithilfe des Affinity-3.0.6-Pakets von OpenHFT an einen einzelnen Kern binden.Windows-Java-Thread-Affinität mit OpenHFT AffinityLock

Bis jetzt hatte ich kein Glück. Zunächst importierte ich das Paket und versucht, den Befehl

AffinityLock al = AffinityLock.acquireCore(); 

gewarnt wurde etwa nicht JNA Zugang hat, so habe ich heruntergeladen jna-4.2.2-Paket und es importiert als auch.

Nach dem zweiten Import, der gleiche Befehl gibt die folgenden Fehler:

WARN Affinity - Windows JNA-based affinity not usable because it failed to load! Reason: java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/WinDef$DWORD

und die Ausführung ist nicht auf den Einzelkern gebunden.

Ich versuche blind, der Software zu geben, was sie will, ohne zu verstehen, was sie braucht.

+0

Funktioniert ein einfaches JNA-Sample selbst korrekt? Von der Fehlermeldung bezweifle ich es. Behebung sollte das dann vermutlich auch hier beheben – Voo

Antwort

0

Ich vermute, dass Sie jna.jar, aber nicht jna-platform.jar zu Ihrem Projekt hinzugefügt haben, und die Klasse, die ispart der Plattform nicht laden kann.

siehe Dokumentation und Download-Links here.