NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Thread vs. Execution

In the TestStand course (Developing test applications) and in the document When to Run a Sequence in a New Execution vs. in a New Thread it is said that one reason to run a new execution instead of a new thread is: 

 

"When you run a sequence in a new thread you cannot run the sequence with a process model entry point."

 

What do they mean? Using the SequentialModel.seq, you can clearly run the same sequence in separate threads, as confirmed by the call stack. You can even do it directly from the Process model.

Any additional information would be appreciated.

 

Marc Dubois
0 Kudos
Message 1 of 3
(3,524 Views)

An execution always has at least one thread; however, multiple threads can be collected internally in one execution.

An execution which uses a process model execution entry point has a dedicated report object. A thread does NOT have a report object.

 

Use case:

In parallel testing (parallel/batch) each socket requires a dedicated report for the UUTs which are tested there. Hence, each socket will be a separate execution.

Specific test procedures within a single UUT can be parallelized; however, it is not necessarily required to have these as a separate report. You would chose a multiple thread setup here.

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Message 2 of 3
(3,474 Views)

Hi,

 

just one comment to Thread vs. Execution.

sometimes you need to terminate, by caller or main task

if so you have a problem when using a thread

this is only possible by using an execution.

 

Regards

Juergen

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 3 of 3
(3,457 Views)