I just made some minor changes that you might want to include that made some of the code cleaner.
For instance, you released a semaphose n times instead of just calling the release and passing n instead.
While in the JAThreadManager, I noticed that the threads container was not necessary and replaced it with an array while simplifying some of the loops.
The only other change was requiring that you pass a Constructor of type JLPCActor for the _ActorFactory class.
Cleaned up the code to make it simplier.
Removed the initial if statement for null check since the inner
Made the passed Constructor be of type JLPCActor.
Reverted code change because I realized that the code will probably not
process the inner if statements as often as the initial if check.
Always welcome. :-)