C# 项目开发框架 ExtendedFramework 极致解耦(4)

9 篇文章 0 订阅
9 篇文章 0 订阅
本文简要介绍了SignalR的双工通信机制及其在Windows服务中的应用,强调了域在解决多线程数据隔离问题上的优势。SignalR提供了进程间的通讯能力,而域则为单进程中实现数据隔离提供了一种解决方案,避免了多线程同步和数据管理的复杂性。了解这些概念对于系统设计和维护至关重要。
摘要由CSDN通过智能技术生成

demo

本篇章粗略讲解一下signalr和域的概念,是系统中非常重要的知识,虽然使用框架不会用到,但是开源后自己维护就是必须得了。

signalr实际上就是双工通讯而已,想了解更详细的或者其他优秀工具的可以字节百度去查查看看。

在本框架中,signalr的宿主是windows服务,会自动启动。

域的概念可能有些人不是很清楚,我还是只说一些自己的理解,至于会不会误人子弟,不敢保证。

一般来说,一个应用程序会有一个进程,但是对于项目来说就不一定了,这里只说一个应用程序。

在应用程序里面我们可以创建多个线程,但是多线程的问题也不是没有,虽然实现的多条支线同步执行,也会有内存数据难以管理的问题。这就需要引入各种锁。但如果要做到各个线程数据相互隔离也不是不行,比如线程安全对象,或者ThreadLocal的使用。然后配合共享-独占锁的使用,也是不错的选择,也能做出一套不错的框架。但总有种相互牵扯,揉成一团的感觉。

那么多进程然后通过管道等通讯,也是很好的方式。即有多线程的优势,也有数据天然隔离的优势。

但是在一个项目中,多进程,就会牵涉到如何切割的问题。过于琐碎,会导致启动一大堆进程。如果切割的不够细,又会出现单进程多线程模式的问题。纠结。

域就是解决这个问题的很好的东西。他既是单进程的,同时每个程序域的数据都是天然隔离的,域隔离。也有多线程齐头并进的优势。好像是不错的东西。

至于域更详细的解读,可以自行百度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LookMonkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值