1. 程式人生 > 其它 >WPF 為什麼是單執行緒模型(STA)

WPF 為什麼是單執行緒模型(STA)

WPF是單執行緒模型.

這是,任何一本wpf書籍,開宗明義的一句話.

可是,我卻從來沒真正理解過,這句話的背後的涵義是森麼?

同時, 技術書的講解,焦點也放在,單執行緒模式,如何跟介面互動這個具體問題上;

沒有講到一個重要的點.

就是, 有多執行緒模型的應用程式嗎?

這才是重點, 告訴我們wpf單執行緒, 肯定不理解,單執行緒怎麼了, 有啥缺點,, 多執行緒怎麼搞呢?

書上,就是不提,,

其實, 據我所知, 微信小程式就是雙執行緒的App;

一個執行緒負責繪製畫面,另一個執行緒,負責使用者互動,互操作

看到沒, 這就是兩者的區別.  拿出另一個例子, 作為對比, 一下子,就清晰了.

有助於下一步,繼續理解微軟的設計思想了.

咱們大微軟,根本不需要兩個執行緒, 一個執行緒模型多簡單啊. 單單熟練掌握執行緒通訊,同步,  都讓擴招大學生吃不消啊.

微軟靠著單執行緒模型,實現互動和繪製畫面兩功能.

互動如何做, 不卡畫面呢?

底層原來需要看類圖.

最基礎的父類叫DispaterObject, 使用者操作都可以被UI的Dispatcher屬性安排排隊重新繪製畫面的;

就像做核酸一樣. 排著隊, 等著輪到你..