As far as a thread pool goes, it’s not that simple. Apple’s RAW decoder uses the GPU, so decodes will compete with image loading and editing, and GPUs do not have great tools for scheduling and priority. Decoding also causes memory spikes. On iOS, that will cause iOS to kill the process. These are not simple problems.