threadly/threadly — pull request #53 by jentfoo (2014-01-01 18:09:13+00:00)
Title: Testable scheduler removal

This is a possible solution to issue #52. This removals all of the VirtualRunnable/VirtualCallable/VirtualLock infrastructure. This also removes the TestableScheduler implementation.

I am doing this as a pull request because I want to think about it, as well as get @lwahlmeier 's feedback on what he thinks about this. This removes a lot of functionality, and some of the test features of Threadly. Some thoughts to consider:

* This does remove and change a lot of code right before the 1.0.0 release
* This does simplify a lot of code however, as well as fix one known issue
* This code has not been very valuable in testing the concurrency of threadly, and I think that what value the TestableScheduler did provide, could possibly be accomplished in other ways now.
* I am a bit sad to see all this code go, there was lots of good code here, and I think it was impressive how we could take a concurrent design and make it single threaded for unit testing. The problem is that I feel like the architecture was fragile as well, and it only really worked if you used the VirtualLocks correctly.

So I am torn, and want to think about this a bit before we commit to removing all this code.