What are reentrant VIs?
A VI is described as reentrant when LabVIEW creates a separate data space for each instance of the VI. This allows multiple independent calls to the subVI to run in parallel. This also is useful when you need each instance of the VI to keep track of their individual states. Use Functional Globals to accomplish the oppositemultiple instances of a VI that all save their state in one location. You cannot make Functional Globals into reentrant VIs. By default, VIs are not reentrant and the execution system will not run multiple calls to the same subVI simultaneously. If you try to call a subVI that is not reentrant from more than one place, one call runs and the other call waits for the first to finish before running.