Increase number of worker threads
Need to:
-
Increase the number of worker threads for the CacheManager
s executor so that we never run out and block the UI. -
Make all requests have a priority in a priority queue. Song downloads and computations should come first, cover art and such last. -
Make a global request semaphore to limit the number of concurrent HTTP requests.
Alternative approach (try this if the increased number of worker threads makes things go poorly):
-
Create a thread which listens for jobs on the queue, and once complete runs the callback