public void Start(DoWorkEventHandler DoWork, DoFinalizeThreadsWork DoFinalize, ThreadParameters Thread1p, ThreadParameters Thread2p, ThreadParameters Thread3p, ThreadParameters Thread4p) { nbWorker = 4; nbRemainingWorkers = 4; AllocateBackgroundWorkerAndSetDelegate(DoWork, 0); AllocateBackgroundWorkerAndSetDelegate(DoWork, 1); AllocateBackgroundWorkerAndSetDelegate(DoWork, 2); AllocateBackgroundWorkerAndSetDelegate(DoWork, 3); DoFinalizeCurrent = DoFinalize; msgPrefix = nbWorker + COMMON_MSG2; label1.Text = msgPrefix; Show(); Thread1p.NumberOfWorkingThreads = nbWorker; Thread2p.NumberOfWorkingThreads = nbWorker; Thread3p.NumberOfWorkingThreads = nbWorker; Thread4p.NumberOfWorkingThreads = nbWorker; Thread1p.ThreadNum = 0; Thread2p.ThreadNum = 1; Thread3p.ThreadNum = 2; Thread4p.ThreadNum = 3; WorkersArray[0].RunWorkerAsync(Thread1p); WorkersArray[1].RunWorkerAsync(Thread2p); WorkersArray[2].RunWorkerAsync(Thread3p); WorkersArray[3].RunWorkerAsync(Thread4p); }
public void Start(DoWorkEventHandler DoWork, DoFinalizeThreadsWork DoFinalize, ThreadParameters p) { nbWorker = 1; nbRemainingWorkers = 1; AllocateBackgroundWorkerAndSetDelegate(DoWork, 0); DoFinalizeCurrent = DoFinalize; msgPrefix = nbWorker + COMMON_MSG1; label1.Text = msgPrefix; p.ThreadNum = 0; WorkersArray[0].RunWorkerAsync(p); }