In a nutshell, multi-instance subprocesses allow you to execute a specific set of actions a specified number of times either in sequence or in parallel.
What shouldn't be confused is the difference between repetitions and multi-instances. Multi-instances will create a snapshot of a specific set of actions and data, and run it a specified number of times, with each instance living in it's own private memory space.
Repetitions on the other hand is executing the same actions and data a specified number of times, with both actions and data sharing the same context, therefore being capable of being executed in a sequence manner.
So let's see all this in practise. In the following steps, I will be creating a sample form-initiated based process where the user will define the number of loops (executions) a subprocess, that will include of a simple "Submit Task" should execute.
Create a new application in Oracle Process Cloud Service, give it a name and file it under a space (I've named it "Multi-Instance Subprocesses Demo App" under a custom space called "aantoniou").
You can also use an array instead of a condition that will be used by the subprocess to identity the number of loops that it should execute. Furthermore, you can define an output (or a results) array that the subprocess will use to store the results of the subprocess.
Publish your changes and deploy a new version of your process (make it as default as well).