雨中漫步 发表于 2023-6-1 09:39:02

qaz2428119 发表于 2023-6-1 09:32
应用程序和网页程序,那不在一个级别上,无法一概而论,
应用程序,需要你自己实现所有功能,而网页程序游览器 ...

WEB服务端 是服务器执行,和浏览器没太大关系,服务端发送出去的页面才是浏览器处理

这里讨论的重点是多线程开发,多线程在多数语言中都是难度比较高的部分,

搞并发的热更新难度是比普通程序更高的,并不是低

并不是服务端程序简单,因为高并发的需求,难度更高。

你的认知有错误的地方,先思考再争论。

创世魂 发表于 2023-6-1 10:30:17

雨中漫步 是真大佬,教程值得好好学习。

对于exe这种程序后台的热更新,确实有些麻烦,因为如果服务器存在高并发场景,热更新很可能会出现一些不可预料的问题。

199 发表于 2023-6-1 22:23:38

我现在都是用nginx,同时负载到exe1和exe2,当1关闭时,自动访问2,不知道这样有没有什么风险

雨中漫步 发表于 2023-6-2 00:49:42

本帖最后由 雨中漫步 于 2023-6-2 00:54 编辑

server 发表于 2023-6-2 00:07
编译的部件DLL,所有引用的部件方法 进入和退出时,
使用原子 递增 和递减 操作 一个全局变量 。


你所谓的原子锁 也会影响性能, 你有自信就搞出来测试看看再说,影响线程越多,负影响越大

例子里给出的方案是 保持高并发的热更新, 没有任何锁的影响。 带锁的方案多了去了根本不需要讨论。

雨中漫步 发表于 2023-6-2 00:52:36

199 发表于 2023-6-1 22:23
我现在都是用nginx,同时负载到exe1和exe2,当1关闭时,自动访问2,不知道这样有没有什么风险 ...

讨论的是 编译后的程序,并发环境, 你讲的是多进程配合,不是同一个问题,两码事了。跑题了。

你当然可以俩进程切换,那就不是热更新了,而且俩进程无法同时刻独占同端口。

你把话题引向了多进程结构,可以多进程负载,那是另外的场景了。

雨中漫步 发表于 2023-6-2 00:55:31

server 发表于 2023-6-2 00:53
影响是一定的,
关于最优解,只能靠你们了。
你想简单,还想想性能没有损失, 属于想得美哈哈哈

例子里的方案已经最简单的热更新方案,时间差都搞不定,其他方式就不用讨论了。 方式的确还有好几种。时间差只是最简单的一个。

最简单的你都感觉麻烦 就算了吧

qaz2428119 发表于 2023-6-11 09:51:24

雨中漫步 发表于 2023-6-1 09:34
编程思想是想通的, 其他程序结构合理也可以热更新,多数插件都是可以热更新的。不要固执了。
高并发都能 ...

我不是说不能,只是它们两个不在一个服务体系里,难易程度没有可对比

qaz2428119 发表于 2023-6-11 09:52:30

雨中漫步 发表于 2023-6-1 09:39
WEB服务端 是服务器执行,和浏览器没太大关系,服务端发送出去的页面才是浏览器处理

这里讨论的重点是多 ...

如果是服务端的热更新,那就当我没说

server 发表于 2023-6-11 20:35:41

qaz2428119 发表于 2023-6-11 09:52
如果是服务端的热更新,那就当我没说
在他们面前,我们都是小白,白纸。我们安静就好了。

小蜗牛 发表于 2023-6-11 21:25:09

server 发表于 2023-6-11 20:35
在他们面前,我们都是小白,白纸。我们安静就好了。

是的..热更新的最优解其实并不是时间差,也不是原子锁...这些都是不靠谱的..最靠谱的是读写锁...
调用dll的时候读+1
释放dll..加载dll..就需要写+1
页: 1 [2] 3
查看完整版本: .