小蜗牛 发表于 2023-6-11 21:25 具体怎么做 咱不知道, 只知道一点,加载与卸载,需要全局唯一,卸载后就必须不能读写,加载后才能读写 |
server 发表于 2023-6-11 20:35 是的..热更新的最优解其实并不是时间差,也不是原子锁...这些都是不靠谱的..最靠谱的是读写锁... 调用dll的时候读+1 释放dll..加载dll..就需要写+1 |
qaz2428119 发表于 2023-6-11 09:52 在他们面前,我们都是小白,白纸。我们安静就好了。 |
雨中漫步 发表于 2023-6-1 09:39 如果是服务端的热更新,那就当我没说 |
雨中漫步 发表于 2023-6-1 09:34 我不是说不能,只是它们两个不在一个服务体系里,难易程度没有可对比 |
server 发表于 2023-6-2 00:53 你想简单,还想想性能没有损失, 属于 想得美 哈哈哈 例子里的方案已经最简单的热更新方案,时间差都搞不定,其他方式就不用讨论了。 方式的确还有好几种。时间差只是最简单的一个。 最简单的你都感觉麻烦 就算了吧 |
199 发表于 2023-6-1 22:23 讨论的是 编译后的程序,并发环境, 你讲的是多进程配合,不是同一个问题,两码事了。跑题了。 你当然可以俩进程切换,那就不是热更新了,而且俩进程无法同时刻独占同端口。 你把话题引向了多进程结构,可以多进程负载,那是另外的场景了。 |
本帖最后由 雨中漫步 于 2023-6-2 00:54 编辑 server 发表于 2023-6-2 00:07 你所谓的原子锁 也会影响性能, 你有自信就搞出来测试看看再说,影响线程越多,负影响越大 例子里给出的方案是 保持高并发的热更新, 没有任何锁的影响。 带锁的方案多了去了根本不需要讨论。 |
我现在都是用nginx,同时负载到exe1和exe2,当1关闭时,自动访问2,不知道这样有没有什么风险 |
|Archiver|手机版|小黑屋|递归火山软件开发平台
( 鄂ICP备18029190号 )
GMT+8, 2025-5-4 15:44 , Processed in 0.090344 second(s), 23 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.