Sounds like a better plan as it would add more building blocks to gradle. Correct me if I'm wrong. They would probably be a global ExecutorService to avoid recreating it at ever task and share the threads between everyone who use it. The problem I see - which could be a temporary thing until option #3 is implemented - is parallel-threads will be the number of parallel task executed at the same time as the number of compiler fork. For someone using the parallel flags, it may be non-intuitive. It basically boils down to how do we share the parallel-threads number between parallel task execution and number of compiler fork? In my mind parallel-threads is the maximum number of threads that Gradle should be allowed to create for his parallel business.
Thanks again Daz and I will move in the direction you are suggesting. --- Daniel