本篇章粗略讲解一下signalr和域的概念,是系统中非常重要的知识,虽然使用框架不会用到,但是开源后自己维护就是必须得了。
signalr实际上就是双工通讯而已,想了解更详细的或者其他优秀工具的可以字节百度去查查看看。
在本框架中,signalr的宿主是windows服务,会自动启动。
域的概念可能有些人不是很清楚,我还是只说一些自己的理解,至于会不会误人子弟,不敢保证。
一般来说,一个应用程序会有一个进程,但是对于项目来说就不一定了,这里只说一个应用程序。
在应用程序里面我们可以创建多个线程,但是多线程的问题也不是没有,虽然实现的多条支线同步执行,也会有内存数据难以管理的问题。这就需要引入各种锁。但如果要做到各个线程数据相互隔离也不是不行,比如线程安全对象,或者ThreadLocal的使用。然后配合共享-独占锁的使用,也是不错的选择,也能做出一套不错的框架。但总有种相互牵扯,揉成一团的感觉。
那么多进程然后通过管道等通讯,也是很好的方式。即有多线程的优势,也有数据天然隔离的优势。
但是在一个项目中,多进程,就会牵涉到如何切割的问题。过于琐碎,会导致启动一大堆进程。如果切割的不够细,又会出现单进程多线程模式的问题。纠结。
域就是解决这个问题的很好的东西。他既是单进程的,同时每个程序域的数据都是天然隔离的,域隔离。也有多线程齐头并进的优势。好像是不错的东西。
至于域更详细的解读,可以自行百度。