C#多线程异步调用C++DLL出现冲突的问题,请帮忙分析
用VC++写的DLL,导出函数是完成“发送网络请求,使用返回结果”的功能,根据网络情况的不同,有时会有点耗时。
在C#中使用单线程调用该DLL非常正常。
为达到充分利用网络资源的目的,用C#在多个线程中异步调用该DLL,却出现地址冲突等问题(DLL中的地址冲突)。
尝试在C#中用lock锁住,就正常了!但是用lock的话,就相当于需等待某个线程执行完DLL中函数后,其他线程才能再执行DLL中的函数,变成了典型的“顺序执行”了,这样就无法达到“充分利用网络资源”的目的了。
请问C#中如何才能实现多个线程并发执行DLL中函数呢?谢谢