Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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.


Control thread affinity for Java



No releases published
You can’t perform that action at this time.