Гарантирует ли F # List.Map выполнение заказа от левого элемента к правому элементу? - PullRequest
0 голосов
/ 13 июля 2011

У меня есть список команд http, которые должны выполняться в определенном порядке.

Let cmd = [
    (Get, "http://login.xxx.com"); 
    (Post, "http://login.xxx.com", "login=name;password=pwd");
    ....]

cmd |> List.map (crawl)

Будет ли сканирование всегда выполнять запросы http сверху вниз (даже на многоядерном компьютере)? Каков наилучший способ форсировать выполнение ордера, если он не может быть гарантирован?

1 Ответ

1 голос
/ 13 июля 2011

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

...