Exemple #1
0
        public void TestCrossRunJobsWithFinalSingleBlockingRun()
        {
            _jobCount            = 0;
            CrossRunJob._maxJobs = AsyncProcessor._maxWaitableHandles * 2 - 1;
            AsyncProcessor proc1 = new AsyncProcessor();
            AsyncProcessor proc2 = new AsyncProcessor();
            CrossRunJob    job   = new CrossRunJob(proc1, proc2);

            using ( proc1 )
            {
                using ( proc2 )
                {
                    proc2.QueueJob(job);
                    Thread.Sleep(1000);
                }
            }
        }
Exemple #2
0
        public void TestCrossRunJob()
        {
            _jobCount            = 0;
            CrossRunJob._maxJobs = AsyncProcessor._maxWaitableHandles * 2 - 2;
            AsyncProcessor proc1 = new AsyncProcessor();
            AsyncProcessor proc2 = new AsyncProcessor();
            CrossRunJob    job   = new CrossRunJob(proc1, proc2);

            using ( proc2 )
            {
                using ( proc1 )
                {
                    proc2.RunJob(job);
                }
            }
            if (_jobCount != CrossRunJob._maxJobs)
            {
                throw new Exception("TestCrossRunJob() failed. _jobCount = " + _jobCount);
            }
        }