色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

.NET中的異步編程:使用F#簡化異步編程

  不管是使用yield或借助第三方類庫來簡化異步編程,或多或少總是感覺不那么正統(tǒng),有點hack的感覺。這種感覺在實驗階段倒還可以,要是用在產(chǎn)品中總有點擔(dān)心,即使這些類庫來自權(quán)威的第三方,我不知道大家有沒有跟我同樣的感覺。那么這個時候我們就會想,如果在語言中直接能提供這種機(jī)制該多好呢。

  F#的異步工作流

  在Visual Studio 2010中,新包含了一種語言:F#。F#的一大特性就是異步計算。能讓你用同步的方式編寫異步的代碼,不用使用AsyncCallback回調(diào)將一個方法分為兩段,也不用注冊異步完成事件。

  F#是一個強類型的函數(shù)式編程語言,現(xiàn)在是2.0版本,在VS2010中正式作為first-class語言出現(xiàn)。其主要設(shè)計者是Don Syme,同是.NET中的泛型的主要設(shè)計者之一。

  我們來看看前面幾篇文章中都包含的那個示例使用F#的代碼將是怎樣:

let asyncDownload (url:string) =
  async{
let req
= WebRequest.Create(url)
let
! resp = req.AsyncGetResponse()
  use stream
= resp.GetResponseStream()
let reader
= new StreamReader(stream)
  
return reader.ReadToEnd()
  }

NET技術(shù).NET中的異步編程:使用F#簡化異步編程,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 汶川县| 利津县| 大新县| 鄄城县| 九龙县| 合川市| 小金县| 裕民县| 益阳市| 阳泉市| 宁明县| 漯河市| 息烽县| 海盐县| 昌吉市| 江阴市| 揭阳市| 内丘县| 关岭| 滨海县| 永泰县| 上蔡县| 宜州市| 神农架林区| 潼关县| 林周县| 古丈县| 屏南县| 满洲里市| 图们市| 宁城县| 邛崃市| 南靖县| 阿勒泰市| 怀远县| 巫山县| 靖宇县| 湘阴县| 梧州市| 林芝县| 顺平县|