# MapThread and parallel computing

This time I have a very short question.

Is there a deeper reason why ParallelMapThread does not exist?

Regards, Frink

-

## 2 Answers

May be because its easy to implement?

MapThread[f, {{a1, a2, a3}, {b1, b2, b3}}]


(* {f(a1,b1),f(a2,b2),f(a3,b3)} *)

ParallelMap[f @@ # &, {{a1, a2, a3}, {b1, b2, b3}} // Transpose]


(* {f(a1,b1),f(a2,b2),f(a3,b3)} *)

-

Many functional operations including MapThread can be easily parallelized by composing the function with ParallelSubmit, then collecting all concurrent jobs:

WaitAll[MapThread[ParallelSubmit@*f, {{a1, a2, a3}, {b1, b2, b3}}]]

-