2015-01-10 52 views
0

我正在研究F#異步工作流的報告,我發現許多論文都談論異步編程模型和模式。在我的理解中,異步工作流只是異步編程的一部分,而異步模式是編寫異步代碼的工具。我希望知道這些術語之間更清楚的關係,以及我應該在報告中包含哪些內容(因爲我只需要討論異步wkf)。謝謝!F#中的異步工作流與異步編程之間的關係

回答

3

異步編程是不同步執行的通用術語,而asynchronous workflows in F#特別指async計算表達式生成器和Async functions。換句話說,您的理解是正確的:F#異步工作流程是實現異步程序的工具。

從書專家F#,關於術語:

異步程序執行不立即完成,但是在以後的時間被滿足,其中程序發出請求必須做的有意義的工作要求與此同時。例如,大多數的網絡I/O(...)

在F#異步操作的報告可能需要一個簡要介紹了異步編程與它的常見的困難,因爲許多的異步操作解決問題不是問題典型的單線程編程。 (例如異常傳播,內存模型,線程管理和阻塞,取消)

+0

我現在閱讀了一些論文,他們大多沒有提到異步工作流程的不完善或缺點。有些做了,但是是異步程序的一般缺點,而不是特別的F#異步工作流程。您是否知道F#需要改進?謝謝! –

+1

@ZHUOWEIYANG我不能說我是Asyncs的專家,但從我所看到的,他們是精心設計的。如果我不得不命名我希望在F#中改進的東西,我不會想到Asyncs。想到的唯一「負面」事情是,許多人一開始就會被他們困惑,特別是如果他們來自主流語言並且不知道F#計算表達式。 *儘管這並不是一個缺點,只要沒有簡單的,可比較的選擇。* – Vandroiy