E aí, Guilherme!
No PHP, essa parada de multithreading não é tão direta como em Python ou Java, saca? Tradicionalmente, o PHP é mais na pegada síncrona, tipo, uma instrução por vez. Mas relaxa, que o Symfony Messenger, que manda ver no processamento assíncrono, tem uns esquemas maneiros pra lidar com execução concorrente de mensagens, mesmo não sendo exatamente multithreading no sentido tradicional.
No Symfony Messenger, a execução assíncrona geralmente rola com filas de mensagens e workers. Cada mensagem na fila é processada de boa por um worker, mandando ver na execução concorrente das mensagens.
Só que multithreading é mais ligado a linguagens que têm Threads como entidades nativas, e PHP não é bem assim. Mas pra ter uma execução paralela na área, você pode usar processos separados ou extensões específicas. Só que no Symfony Messenger, não rola multithreading nativo do PHP.
Se a ideia é redimensionar umas mil fotos por hora de um jeito eficiente, dá pra explorar o "parallel processing" usando vários workers.