My previous changes to ImageCache would have meant that HTTP requests for files would have had to run sequentially, rather than parallel, if they had been requested in individual threads. This is clearly less than ideal, so I have re-worked the ImageCache class such that thee network access threads are performed outside of the locked part of the procedure, and only the (fairly quick) dictionary manipulations are performed while protected by the lock
My previous changes to ImageCache would have meant that HTTP requests for files would have had to run sequentially, rather than parallel, if they had been requested in individual threads. This is clearly less than ideal, so I have re-worked the ImageCache class such that thee network access threads are performed outside of the locked part of the procedure, and only the (fairly quick) dictionary manipulations are performed while protected by the lock