I prefer lada solution with simple in_parallel, call it with explicit number of threads just breaks simplicity of it. Having single global variable for number of maximum threads looks fine for me as it is one global option and not call specific argument.