我的多线程应用程序从 HD 中获取一些文件,然后处理这些文件中的数据。我重用了一个类的同一个实例(dataProcessing))来创建线程(我只是改变了调用方法的参数)。
processingThread[i] = new Thread(new ThreadStart(dataProcessing.parseAll));
我想知道原因是否可能是所有线程都从同一内存中读取。
处理每个文件大约需要半分钟。由于文件只有 200 KB,因此可以快速读取。处理完文件后,我将所有结果写入一个目标文件。我认为问题不在于读取或写入磁盘。所有线程都在处理任务,但由于某种原因,处理器没有被充分利用。我尝试添加更多线程以查看是否可以达到 100% 的处理器使用率,但它会减慢并减少处理使用率,而不是完全使用它。任何人都知道可能出了什么问题?