Imatest IT in multi-threaded and multi-process environments

March 21, 2013
April 20, 2015

Imatest IT uses the Matlab runtime library which is a single-threaded routine that is not thread-safe.

If your tester application uses multiple threads, you should restrict all the parts that call upon the Imatest library to a single thread.

If your tester application uses multiple processes be careful about using busy waiting in order to check for the results of the test to occur.  Without a sleep statement inside your loop, the rapidly looping process will prevent context switching to other processes, which will prevent them from running and consume a large amount of CPU resources causing both processes to freeze.

If you want to run multiple processes with Imatest calculations, please see:

Can Imatest IT run multiple instances in Parallel?