Parallel Directive Clause: Provides a superset of the functionality provided by the PRIVATE clause; objects are declared PRIVATE and they are initialized with certain values.
Syntax
Variables that appear in a FIRSTPRIVATE list are subject to PRIVATE clause semantics. In addition, private (local) copies of each variable in the different threads are initialized to the value the variable had before the parallel region started.