Я пытался проверить ответные сообщения, написанные на Perl, который обрабатывает запросы через API Amazon и возвращает ответы ... Как запустить параллельный fork как отдельный поток в perl ?. Я использую модуль LWP :: UserAgent, и я хочу отлаживать HTTP-запросы.Как запустить параллельную вилку как отдельную нить в perl?
ответ
Как слово предупреждения - резьбы и вилки - это разные вещи в perl. Очень разные.
Однако длинный и короткий из них - вы не можете, по крайней мере, не тривиально - вилка - это отдельный процесс. Это на самом деле происходит, когда вы запускаете внешнюю команду в perl, это просто по умолчанию perl сидит и ждет, чтобы эта команда завершила и вернула выход.
Однако, если у вас есть доступ к коду, вы можете изменить его для запуска однопоточной - иногда это так же просто, как уменьшение параллелизма с параметром конфигурации. (На самом деле довольно часто - отладка параллельного кода является гораздо более сложной задачей, чем последовательная, поэтому очень важно работать с до.
Вы можете вставлять waitpid
в свой основной код, чтобы у вас только одна вещь работала сразу. Однако, без примера кода, нельзя сказать точно.
Ну, спасибо большое за информацию. Я сузил число вилок до 1. Это помогло мне. –
На какой платформе вы работаете? – Borodin