Escrever dados no disco em paralelo?

Então, estou trabalhando em uma biblioteca de processamento de imagem C ++ / cli e estou tentando otimizar meu código. Basicamente, eu sou passado um System :: Drawing :: Bitmap da imagem, que eu preciso gravar no disco, executar análise complexa e retornar os resultados da análise. Eu pensei que eu poderia escrever a imagem em disco em paralelo para acelerar as coisas (meu algoritmo não modifica a imagem). No entanto, eu não trabalhei muito com threads, então eu queria ter sua opinião sobre qual seria a melhor maneira de fazer isso.

<code>string ProcessImage(System::Drawing::Bitmap ^bmp, System::String^ targetFile)
{
    bmp->Save(targetFile);
    System::Drawing::Bitmap^ bmp8 = BitmapConvertPixelFormat(bmp, 8); //<-- a function I wrote which converts the 32bpp I am passed into an 8bpp one
    string results = Analyze(bmp8); //<--- takes a good bit of time
    return results;
}
</code>

Por favor, deixe-me saber seus pensamentos. Agradeço antecipadamente!

questionAnswers(3)

yourAnswerToTheQuestion