для разрешения асинхронных вызовов, что означает, что выполнение кода продолжается после первого вызова метода "checkForPrime ()",
Не совсем. Асинхронный только означает, что вызов завершен асинхронно , и вам не нужно ждать завершения до тех пор, пока это необходимо.
Это не подразумевается, что вы можете использовать тот же клиент для выполнения другого параллельного запроса.Некоторые реализации могут поддерживать это, но текущая реализация - нет.
Несколько ожидающих вызовов требуют некоторого учета, в противном случае вы потеряетесь с ответами:
call 1 made --->
call 2 made --->
response arrives <----
response arrives <----
Теперь, к какому вызову относится первый ответ: вызов 1 или вызов 2?Трудно сказать, это может быть один из них.Без дополнительной информации клиенту с несколькими вызовами будет сложно пытаться сопоставить данные.
TAsyncClientManager обрабатывает это, ограничивая клиентов разрешением только одного ожидающего вызова одновременно.
необходимо вызвать несколько асинхронных запросов от одного и того же клиента
Почему вы считаете это необходимым?
Клиент является только посредником, средством передвижения. Если вы отправляете два электронных письма, требуется ли, чтобы они следовали по одному и тому же пути по интервалам ?Нет, потому что соответствующая информация, на которую должна опираться другая сторона (сервер), находится в содержимом сообщения, а не на транспортном уровне.
Если, однако, вам нужно хранить данные на клиенте, вы должны хранить их в специально отведенном месте вне экземпляра клиента.В любом случае, тот факт, что мы имеем дело с одним или двумя экземплярами клиента, не должен иметь большого значения.