当前项目使用第二个CPU
Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)2;
Thread T_GetFiles = new Thread(new ThreadStart(ThreadGetFiles));//获取文件线程
T_GetFiles.Start();
log.Info("遍历文件线程启动成功....");
int tCounter = (int)NUDThreadcount.Value;
Thread[] T_ReadFileToDB = new Thread[tCounter];
for (int i = 0; i < tCounter; i++)
{
T_ReadFileToDB[i] = new Thread(new ThreadStart(ThreadFileToDB));
T_ReadFileToDB[i].Name = i.ToString();
T_ReadFileToDB[i].Start();
log.Info("文件读取线程" + i.ToString() + "启动成功");
}
在使用该方法之前首先使用最为普遍的Thread.Sleep(50);解决,若解决不了则使用多核。4核处理器,一个核占用满,cpu占用最多也只会到25%