The best is use GCD global queues IMO ;) the OS knows how many queues is best :D But You can have multiple queues.. the OS won't break if you use some
But seriously:
How many highly depends not only on the OS also on what they would be doing! (CPU only, IO? ...)
there is no real exact number.
Use what you need, feel comfortable with and what makes sense semantically(!)