- Using managed dependencies:
- This project uses managed dependencies.
- This project's managed dependencies may also be imported by other projects.
- Minimum Java version changed from 1.6 to 1.7.
- Updated dependencies.
- Accepting less specific generic bounds.
- Improved Javadoc formatting.
- Improved README formatting.
- Project moved to GitHub and Maven.
- Added multiple per-processor thread pools to avoid possible deadlock while also avoiding blowing-out to unbounded concurrency.
- Now automatically maintains some ThreadLocal values between caller and executor during concurrent processing, and provides wrapper hook for subclasses to extend.
- Cleaned-up executors API.
- Providing access to preferred concurrency.
- Added a sequential executor for when non-threaded execution is desired.
- Each lock object now a small empty class to help identify lock contention.
The lock contention profiler in NetBeans is just showing "java.lang.Object" all over, and can't seem to get from the lock object id to the actual object in the heap dump using OQL (id not found).
- Reduced lock contention significantly through atomic operations and fine-grained locking.