Возможно вызвать синхронный метод асинхронно в MATLAB®. С некоторыми модификациями можно использовать Microsoft®
BeginInvoke и EndInvoke методы. Для получения дополнительной информации обратитесь к MSDN® статья Calling Synchronous Methods Asynchronously.
Можно использовать делегатов, чтобы вызвать синхронный метод асинхронно при помощи BeginInvoke и EndInvoke методы. Если поток, который инициирует асинхронный вызов, не должен быть потоком, который обрабатывает результаты, можно выполнить метод коллбэка, когда вызов завершается.
Примечание
MATLAB является однопоточным приложением. Поэтому обработка асинхронных вызовов в среде MATLAB может привести к мертвым блокировкам.
EndInvoke С out и ref Аргументы типаДелегат MATLAB подпись для EndInvoke следует специальным правилам отображения, если у вашего делегата есть out или ref аргументы типа. Для получения информации об отображении смотрите Делегатов.NET С и касательно Аргументов типа. Для примеров смотрите EndInvoke страница с описанием.
Для MATLAB, чтобы обработать событие, которое выполняет коллбэк делегата на основном потоке, вызовите MATLAB pause (или подобное) функция.