試行錯誤の結果、MATLABエンジン関数は完全にスレッドセーフではないことがわかりました。
誰かがルールを知っていますか?
試行錯誤で発見:
Windowsでは、MATLABへの接続はCOMを介して行われるため、COMApartmentのスレッドルールが適用されます。すべての呼び出しは同じスレッドで発生する必要がありますが、各接続が分離されている限り、複数の接続が複数のスレッドで発生する可能性があります。
以下の回答から、これはUNIXには当てはまらないようです。UNIXでは、呼び出しが連続して行われる限り、複数のスレッドから呼び出しを行うことができます。