2011-06-14 98 views
1

我正在學習F#並對此語言非常感興趣F#異步線程問題

我嘗試創建異步表達式以異步運行。

例如

let prop1=async{ 
    for i=0 to 1000000 do () 
     MessageBox.Show("Done") 
    } 

let prop2=async{ 
    for i=0 to 1000000 do () 
     MessageBox.Show("Done2") 
    } 

Async.Start(prop1) 
Async.Start(prop2) 

當我運行該程序,我得到有螺紋量程序處理量的增加,從6到8,當我完成接近2消息框,則處理似乎並不破壞那些創建線程,也記8,發生了什麼事或我有誤解有關F#異步

感謝您的幫助

回答

0

運行時可能會使用一個線程池,即線程沒有被破壞,而是等待另一個異步任務。該技術可幫助運行時減少開始新異步的時間。操作,因爲創建新線程可能會消耗一些時間和資源。