一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Silverlight的多線程能力(上)

  對(duì)于多線程其實(shí)一直以來都存在很多誤區(qū):比如多任務(wù)與多線程就很容易被混為一談,而多線程也常被理所應(yīng)當(dāng)?shù)恼J(rèn)為是并行等等。而事實(shí)卻是:多任務(wù)≠多線程、單任務(wù)≠單線程、多線程不一定并行,多線程與性能不成線性關(guān)系等等,其中道理在這里不再詳述。筆者認(rèn)為Silverlight多線程主要作用不是在于提高性能,而是在于用戶體驗(yàn),其根本目的是解決用戶體驗(yàn)中的響應(yīng)速度,減少單線程帶來的阻塞問題。用一個(gè)貼切的例子來形容單線程和多線程的區(qū)別:?jiǎn)尉€程就好像只有一個(gè)服務(wù)窗口賣票的車站,人們排隊(duì)買票時(shí)都是單線程處理的,而且不能搶奪位置,這樣只要前方有一個(gè)人出現(xiàn)長(zhǎng)時(shí)間等待,后面的人都不能被響應(yīng),這就出現(xiàn)了單線程阻塞;而多線程就好像有多個(gè)服務(wù)窗口去賣票,這樣車票買賣和等待的情況就會(huì)好很多(當(dāng)然這個(gè)例子如果換成公共廁所,對(duì)于用戶體驗(yàn)就顯得更為重要了)。

  這次我們就要來看看Silverlight的多線程能力,其實(shí)Silverlight的多線程體現(xiàn)在兩大方面:

  第一方面是將UI線程與后臺(tái)工作線程的分離,使得UI線程可以更好地響應(yīng)用戶操作,而后臺(tái)線程處理完后,允許通過異步的方式將處理結(jié)果推回前臺(tái)進(jìn)行展示。筆者認(rèn)為這是多線程在Silverlight中最主要的作用(很多傳統(tǒng)Web應(yīng)用開發(fā)者在剛開始接觸Silverlight時(shí)很不適應(yīng)這種前后臺(tái)線程的異步操作)。

  第二方面是對(duì)后臺(tái)作業(yè)的多線程支持,比如當(dāng)需要在客戶端后臺(tái)并行運(yùn)算時(shí),你可以通過發(fā)起多個(gè)線程來完成這些運(yùn)算。在上期《Silverlight CoreCLR結(jié)構(gòu)淺析》中,我已經(jīng)給大家介紹了Silverlight的基礎(chǔ)類庫(kù),其中就包括多線程的相關(guān)類集。

  UI線程是Silverlight與用戶交互的線程,在Silverlight中UI線程是單一的,其中裝入的是UI控件類及用于數(shù)據(jù)綁定的View Model類(什么是View Model?就是只為View層服務(wù)的實(shí)體,如果要展開說會(huì)很長(zhǎng),就此打住!),而在后臺(tái)線程中是不能直接訪問這些UI線程中的數(shù)據(jù)與控件對(duì)象的屬性。但大家不用擔(dān)心,Silverlight和WPF的線程模型都使用了類似于Java Swing中EDT(Event Dispatch Thread)這種安全的事件分發(fā)線程模型來解決UI線程與其他后臺(tái)線程的數(shù)據(jù)互訪問題。在Silverlight(WPF)的控件類庫(kù)System.Windows下所有類都繼承了DependencyObject基類,DependencyObject類不僅提供了Silverlight(WPF)最基礎(chǔ)的依賴性屬性服務(wù)(什么是依賴性屬性?簡(jiǎn)單的說就是對(duì)象屬性值依賴于其他計(jì)算值的方式,這種方式為數(shù)據(jù)綁定、動(dòng)畫、重用樣式都提供了可行性,這里不再展開),同時(shí)也開啟了UI線程與后臺(tái)線程的數(shù)據(jù)互訪通道,在DependencyObject中有一個(gè)非常重要的屬性——Dispatcher,后臺(tái)線程可以通過調(diào)用發(fā)起者(一般都是UI控件)的Dispatcher來實(shí)現(xiàn)互操作,后臺(tái)線程可以通過下面的方式來直接操作UI線程中的對(duì)象:

_UISender.Dispatcher.BeginInvoke(() => 
{
//這里可以訪問UI線程中的對(duì)象,因?yàn)檫@個(gè)委托本身就在UI線程中執(zhí)行
}

NET技術(shù)Silverlight的多線程能力(上),轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 日韩午夜视频在线观看 | 在线播放黄色网址 | 一本色道久久88综合亚洲精品高清 | 欧美特级视频 | 亚洲精品午夜级久久久久 | 国产精品久久久久久吹潮 | 成人午夜毛片在线看 | 最近中文字幕完先锋资源 | 欧美日韩一区妖精视频yjsp | 中文字幕在线视频精品 | 4se成人 | 久草视频中文在线 | 韩国毛片在线观看 | 91大神精品长腿在线观看网站 | 图片区另类小说 | 91网站免费在线观看 | 77777网站| 午夜日本一区二区三区 | 成人久久久久久 | 视频一区二区三区免费观看 | 九九热免费在线观看 | 国产精品香蕉成人网在线观看 | 97精品伊人久久大香线蕉 | 欧美日韩亚洲国产精品一区二区 | 亚洲国产天堂久久九九九 | 91久久香蕉国产线看 | 亚洲欧美另类国产综合 | 色小妹综合| 激情综合五月亚洲婷婷 | 欧美激情网站 | 成人精品一区二区激情 | 久久精品5| 999国内精品永久免费视频 | 黄色色视频 | 久久国产亚洲精品麻豆 | 五月婷婷丁香综合网 | 黄址在线观看 | 久久亚洲精品无码观看不卡 | 久久精品国产清白在天天线 | 日韩专区亚洲国产精品 | 999久久66久6只有精品 |