雨中漫步
发表于 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