Esempio n. 1
0
        private void ReleaseCalculationWait(
            TParameters parameters,
            CalculationProcessInfo calculationProcessInfo)
        {
            calculationProcessInfo.WaitCount--;

            if (calculationProcessInfo.Done && (calculationProcessInfo.WaitCount == 0))
            {
                processingCalculations.Remove(parameters);
                calculationProcessInfo.Dispose();
            }
        }
Esempio n. 2
0
        private void CompleteCalculationProcessInfo(
            TParameters parameters,
            CalculationProcessInfo calculationProcessInfo)
        {
            calculationProcessInfo.Done = true;

            if (calculationProcessInfo.WaitCount > 0)
            {
                calculationProcessInfo.Event.Set();
            }
            else
            {
                processingCalculations.Remove(parameters);
                calculationProcessInfo.Dispose();
            }
        }