exponenta event banner

Асинхронный вызов методов .NET

Как MATLAB обрабатывает асинхронные вызовы методов в .NET

Синхронный метод можно вызвать асинхронно в MATLAB ®. С некоторыми изменениями можно использовать Microsoft ®BeginInvoke и EndInvoke методы. Дополнительные сведения см. в статье MSDN ® Асинхронный вызов синхронных методов.

Можно использовать делегатов для асинхронного вызова синхронного метода с помощью BeginInvoke и EndInvoke методы. Если поток, инициирующий асинхронный вызов, не обязательно должен быть потоком, обрабатывающим результаты, по завершении вызова можно выполнить метод обратного вызова.

Примечание

MATLAB - это однопоточное приложение. Поэтому обработка асинхронных вызовов в среде MATLAB может привести к взаимоблокировкам.

Используя EndInvoke С out и ref Аргументы типа

Подпись делегата MATLAB для EndInvoke следует специальным правилам сопоставления, если у делегата out или ref аргументы типа. Сведения о сопоставлении см. в разделе Делегаты .NET с аргументами типа out и ref. Примеры см. в разделе EndInvoke справочная страница.

Использование опроса для обнаружения завершения асинхронного вызова

Для обработки события MATLAB, выполняющего обратный вызов делегата в главном потоке, вызовите MATLAB. pause (или аналогичная) функция.

См. также

|

Внешние веб-сайты