Control thread affinity for Java
Java C Makefile
Switch branches/tags
Nothing to show
Clone or download
Latest commit 8687240 Jun 6, 2018


This is an old version of this library kept here for historical purposes. The latest version is available here


[ Project Development Summary ]

[ Version History ]
Verions 3.x - moved to

Version 1.6.3 - Added AffinityLock.isAllocated() and isBound() so you can check whether a CPU could be allocated.

Version 1.6.2 - Initial implementation for Mac OS for its thread policies. This is not the same as affinity but may be equivalent.

Version 1.6.1 - Improved behaviour on machines without thread affinity support esp. Macs.

Version 1.6 - First formal release available under

Version 1.5.5 - Added native support for Linux/amd64, thank you akerbos.

Version 1.5.4 - Added native support extracted from JAR and native build for Linux/i386, thank you isopov.

Version 1.5.3 - Build on Windows cleanly. Added a Unix profile for Unix enhanced build.

Version 1.5.2 - Added Windows support and Javadoc for all public methods.

Version 1.5.1 - Add changes to support i386 and Intel i3

Version 1.5 - Add support for efficient pause()ing, whileEqual and whileLessThan with limited busy waiting.

Version 1.4.1 - Add an AffinityThreadFactory to support ExecutorService

Version 1.4 - Support binding of a whole core for hyper-threaded systems. AffinityLock.acquireCore()

Version 1.3 - Support thread layout strategies for using the same/different socket or cores.

Version 1.2.2 - Improve logging and handling of edge cases

Version 1.2.1 - Fix a critical bug and added a unit test.

Version 1.2 - Restructure to separate Thread Affinity and nanoTime() functionality.

Verison 1.1 - Add JNA implementation

Verison 1.0 - JNI implementation

[ Contributers ]

peter.lawrey - Lead Developer.