for (APCounter = start; APCounter < Stager.InstructionsMemory.Length; APCounter++)
{
PipelineInitializor();
int i1 = APCounter;
int i = APCounter;
tasks[i] = new BlockingCollection<Func<object>>();
tasks[i].Add(() => Fetch(i1));
tasks[i].Add(() => Decode(i1));
tasks[i].Add(() => ALURes(i1));
tasks[i].Add(() => Memory(i1));
tasks[i].Add(() => WriteB(i1));
InstructionThread[i] = new Thread(() => Worker(i1, tasks[i1]));
InstructionThread[i1].Start();
}
這些線程需要由承載相同類型數據對象的新線程替換,但需要新任務數據。停止並用新線程替換正在運行的線程
我試過使用Abort
方法(這是不推薦的),並且它導致一切暫停執行,無論我調用什麼函數,都不會再次開始執行。
爲什麼'i'和'i1'?爲什麼不只是兩個「我」呢? –
好的,我會爲它們使用它。 TY。 – user1364852