首页 新闻 会员 周边

.Net多线程调用同一个DLL解决方案

0
悬赏园豆:50 [待解决问题]

这样的架构,data 为独立的算法站,调用别人封装好的dll,由于存在并发问题会导致data里面同时调用dll文件,这时候该怎么处理呢,有啥解决方案,保证数据的独立

DNLi的主页 DNLi | 菜鸟二级 | 园豆:316
提问于:2020-03-20 11:35

建议描述再详细一点,如果只是为了不同时调用dll,那加锁就好了

会长 4年前

@会长: 就是同时调用同一个dll会出现数据混乱的问题

DNLi 4年前
< >
分享
所有回答(1)
1

在data里面的调用dll的方法上加锁咯. 这是最简单粗暴的.

然后,你最好吧data里面cal dll的代码贴一点出来.

czd890 | 园豆:14412 (专家六级) | 2020-03-20 15:26

加锁不行,高并发下会有问题,导致其他的处理任务堵塞

支持(0) 反对(0) DNLi | 园豆:316 (菜鸟二级) | 2020-03-20 16:38

@DNLi: 调用请求入队,处理完后再通知前端。任务队列、mq、数据库轮询等等都可以。
就一个dll调用就这么搞,真复杂,怪的很。
有多高的并发……
算法cpu消耗高不高,不高的话,多搞几个进程服务,负载均衡下也行。
或者每次启个进程,ipc一下也行。

支持(0) 反对(0) 日暮青色 | 园豆:475 (菜鸟二级) | 2020-03-20 22:20

@DNLi: 楼上正解。
问题的根源在于你的dll是不支持并发的,那么所有调用方就必须排队。

支持(0) 反对(0) sweetjian | 园豆:276 (菜鸟二级) | 2020-08-22 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册