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

Silverlight的多線程能力(上)

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

  這次我們就要來看看Silverlight的多線程能力,其實Silverlight的多線程體現在兩大方面:

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

  第二方面是對后臺作業的多線程支持,比如當需要在客戶端后臺并行運算時,你可以通過發起多個線程來完成這些運算。在上期《Silverlight CoreCLR結構淺析》中,我已經給大家介紹了Silverlight的基礎類庫,其中就包括多線程的相關類集。

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

_UISender.Dispatcher.BeginInvoke(() => 
{
//這里可以訪問UI線程中的對象,因為這個委托本身就在UI線程中執行
}

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

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

主站蜘蛛池模板: 精品一区二区三区在线观看 | 午夜在线视频免费观看 | 青青草原伊人网 | 婷婷99视频精品全部在线观看 | 日本午夜www高清视频 | 免费视频色 | 日韩亚洲欧美在线爱色 | 国产美女无遮挡免费视频 | 午夜伦伦| 精品免费久久久久久影院 | 国产亚洲视频网站 | 国产成人精品影视 | 国语自产精品视频 | 皮皮在线精品亚洲 | v视界成人影院在线视频 | 在线观看www视频 | 欧美一级精品 | 中文字幕精品一区二区三区视频 | 国色天香一区三区四区小说 | 亚洲成人激情在线 | 911亚洲精品国内自产 | 2021国产精品自在拍在线播放 | 一区二区三区四区视频 | 免费777my性欧美另类 | 欧美日本一二三区 | 欧美精品日韩一区二区三区 | 亚洲激情小视频 | 久久伊人热精品老鸭窝 | 一区精品在线 | 91区国产福利在线观看午夜 | 国产小视频在线免费观看 | 久久久久久久99视频 | 久久综合色区 | 精品九九在线 | 国产一区二区三区在线观看视频 | 精品亚洲一区二区三区在线播放 | 六月天综合网 | 久精品在线观看 | a丫久久久久久一级毛片 | 久久性感视频 | 亚洲国产中文字幕在线观看 |