logo
Bolshakov_Poyasnitelnaya_zapiska

2.2.2.5 Синхронные и асинхронные вызовы функций задач

Чтобы из одной задачи вызвать функцию другой задачи, необходимо, чтобы эта сторонняя задача приняла согласие на ее исполнение (то есть перешла в режим ожидания вызова данной функции). Функции задачи могут быть вызваны синхронно и асинхронно. При синхронном вызове задача-инициатор будет ждать окончания работы функции и только после этого продолжит свою работу. Асинхронный вызов предполагает передачу сообщения в очередь принимающей задачи, сам вызов фактически будет осуществлен тогда, когда это решит принимающая задача. Таким образом, вызов функции будет отложенным, то есть асинхронным по отношению к инициатору, так как инициатор после передачи сообщения продолжает исполнять свой процесс и не будет автоматически оповещен о том, когда данная функция реально исполнится в принимающей задаче.