0
我有一個需要按特定順序執行的http命令列表。F#List.Map是否保證從左項到右項的執行順序?
Let cmd = [
(Get, "http://login.xxx.com");
(Post, "http://login.xxx.com", "login=name;password=pwd");
....]
cmd |> List.map (crawl)
爬網會自上而下運行http請求(即使在多核計算機中)嗎?如果無法保證執行順序,最好的辦法是什麼?
未來版本的F#會優化它並使其成爲多線程嗎?特別是它是不可變的,這就是函數式編程所擅長的。 – ca9163d9
令人懷疑。自動並行化仍然主要是一個夢想,除了可能在有限的領域。然而,假定不變性,程序員指定的並行化通常是微不足道的(例如,只要將'List.map'更改爲'PSeq.map',給定並行操作符的'PSeq'模塊就行。) – Brian
List.map不會改變輸入,並且它的輸出是不可變的,但傳遞給它的函數可能有副作用。這將我們帶回程序員指定的並行化... –