WPF 为什么是单线程模型(STA)
WPF是单线程模型.
这是,任何一本wpf书籍,开宗明义的一句话.
可是,我却从来没真正理解过,这句话的背后的涵义是森么?
同时, 技术书的讲解,焦点也放在,单线程模式,如何跟界面交互这个具体问题上;
没有讲到一个重要的点.
就是, 有多线程模型的应用程序吗?
这才是重点, 告诉我们wpf单线程, 肯定不理解,单线程怎么了, 有啥缺点,, 多线程怎么搞呢?
书上,就是不提,,
其实, 据我所知, 微信小程序就是双线程的App;
一个线程负责绘制画面,另一个线程,负责用户交互,互操作
看到没, 这就是两者的区别. 拿出另一个例子, 作为对比, 一下子,就清晰了.
有助于下一步,继续理解微软的设计思想了.
咱们大微软,根本不需要两个线程, 一个线程模型多简单啊. 单单熟练掌握线程通信,同步, 都让扩招大学生吃不消啊.
微软靠着单线程模型,实现交互和绘制画面两功能.
交互如何做, 不卡画面呢?
底层原来需要看类图.
最基础的父类叫DispaterObject, 用户操作都可以被UI的Dispatcher属性安排排队重新绘制画面的;
就像做核酸一样. 排着队, 等着轮到你..