我有一个程序可以进行大量的比较。它将本地计算机上保存的特定.dat文件与运行时生成的大量其他文件进行比较。现在,由于许多System.AccessViolationException
,我无法使用多个线程执行这些比较。我假设这是因为多个线程试图同时访问同一本地文件。如何克服这个问题与多个线程进行这些比较?
答案 0 :(得分:3)
您的访问权限违规有几种可能原因:
存在以下解决方案:
正如Matthew Watson正确指出的那样,AccessViolationException
是由非托管代码中的错误引起的,因此可能不是由多个线程尝试访问同一文件引起的。
因此,我的答案假定您实际上得到UnauthorizedAccessException
如果情况并非如此,并且您确实得到了AccessViolationException
您的问题,则最有可能出现在其他地方。