首页 新闻 会员 周边

调用非托管DLL,多线程调用该库的方法,程序会卡死,有没有大佬知道这种问题?

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

第一步:调用动态的DLL

第二部:每次循环创建一个线程。线程里面的委托方法就是调用了这个动态库的方法

第三部:结果;第一个次是好的,循环第二次也是好的,但是第三次程序就直接关闭了

阿里正正的主页 阿里正正 | 初学一级 | 园豆:82
提问于:2019-11-06 14:52
< >
分享
所有回答(1)
0

1 不用线程是否正常,确认DLL本身是否存在问题
2 如果1是好的,那么上面的循环中,起了线程后不处理结束,是否会有竞争问题,这个是需要检查的点

2012 | 园豆:21230 (高人七级) | 2019-11-07 08:31

您好! 不用线程也不行。 普通循环也不行。
这个DLL接口,请求第一个可以,第二次程序就停了,就是不能连续请求

支持(0) 反对(0) 阿里正正 | 园豆:82 (初学一级) | 2019-11-07 13:36

@阿里栁栁: 那肯定是p/invoke 互操作这块出现问题,调用约定不符合要求造成程序函数栈之类的破坏了

支持(0) 反对(0) 2012 | 园豆:21230 (高人七级) | 2019-11-07 18:26

@2012: 我也觉得是的,但是技术不够,不知道怎么解决, 能指导我下吗?

支持(0) 反对(0) 阿里正正 | 园豆:82 (初学一级) | 2019-11-08 14:28

@2012: 我加你QQ了,有空请同意下

支持(0) 反对(0) 阿里正正 | 园豆:82 (初学一级) | 2019-11-08 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册