asyncprocess

Задание параллельного выполнения задач в разных потоках без ожидания выполнения каждой из задач.

Синтаксис:

ansycprocess  
<задача 1>
...
<задача 2>
end;

Описание:

Задание параллельного выполнения задач в разных потоках без ожидания конца выполнения каждой из задач. Задачи задаются в виде обычных пользовательских функций без параметров, но для них будут недоступны операции записи в глобальные переменные. Внутри задач можно организовывать аналогичным образом подзадачи, которые будут выполняться параллельно.

Пример:

var connected1: boolean,
    connected2: boolean,

//Функция обработки соединения 1 
procedure DoProcessConnection1
...
end;
  
//Функция обработки соединения 2   
procedure DoProcessConnection2
...
end;
  
// Асинхронная обработка соединений в отдельных потоках
asyncprocess  
DoProcessConnection1;   //Подключение канала 1
DoProcessConnection2;   //Подключение канала 2
end; // конец секции асинхронной обработки

В примере определяются пользовательские функции обработки соединения, после этого организуется параллельная обработка соединений в разных потоках.

Сопутствующие материалы