现在有一个动态链接库matlink.dll
其中有一方法:
int ZMatchTemplateOne(BYTE* pSrc,BYTE *pDst);
pSrc:指纹模板
pDst:指纹验证信息
在使用C调用时,没有任何问题,但是使用C#时,同样的指纹模板及指纹信息,在多线程调用时就会出现问题,主要是返回的指纹比对值不同。
谁可以帮助一下啊!
代码:
fingerIN = "指纹信息";
fingerINforByte = strToToHexByte(fingerIN);
fingerData = "指纹模板";
fingerDataforByte = strToToHexByte(fingerData);
多线程:
for (int a = 0; a < 线程数量;a++)
{
Thread th = new Thread(new ParameterizedThreadStart(fingerMatch));
th.IsBackground = true;
th.Start(a);
}
fingerMatch:
……
for (int i = 0; i < 比对次数;i++)
{
int res = ZMatchTemplateOne( fingerDataforByte, fingerINforByte);
}
……
如果把ZMatchTemplateOne方法加锁后,便不会出现问题,但是验证指纹数量太多,必须采用多线程处理,头疼,麻烦各位帮忙解决一下,谢谢了!
注:DLL是厂家提供的,没有具体的代码。但是厂家提供的程序是使用DELPHI写的,运行没有问题。。。唉