What is the relationship between process instance and execution

I’m learning about flowable recently, but I didn’t find the relationship between process instance and execution in the documentation. I would be grateful if someone could answer my question.

If I start a simple one-way process instance, Is there only one execution in this process instance? Under which circumstances will there be multiple executions of a process instance.

In java POJO, I see DelegateExecution has a method called getParentId(), I wanna know under what circumstances is its return value not null, and what does this id mean?

Thanks a lot if you can help with this

A process instance is an execution, a special one that is like a container and has a bunch of child executions.

No, two: one for the process instance and one for the actual execution path. The easiest is to check the ACT_RU_EXECUTION table when you’re stepping through a process instance.

A parent ID is set for example when using a boundary event. The execution waiting in the boundary event will have as parent id the execution in the activity on which the boundary event is.

Thank you so much, it’s very helpful