process

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

Синтаксис:

process
<задача 1>;
...
<задача n>;
end;

Описание:

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

Пример:

var connected1:boolean,
    connected2:boolean;;
  
//Функция обработки соединения 1
procedure DoProcessConnection1  
...
end;
  
//Функция обработки соединения 2
procedure DoProcessConnection2  
...
end;
  
//Синхронная обработка соединений в отдельных потоках
process
DoProcessConnection1;   //Подключение канала 1
DoProcessConnection2;   //Подключение канала 2 
end;      //конец секции асинхронной обработки

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