示例#1
0
        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);
        }
示例#2
0
        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);
        }