Ejemplo n.º 1
0
        public static TaskFactory GetTaskFactory(Configuration.IApplicationLogSettings settings)
        {
            if (settings.MaxThreads < 1)
            {
                return(GetTaskFactory(settings, true, false));
            }

            return(GetTaskFactory(settings, false, false));
        }
Ejemplo n.º 2
0
        public static TaskFactory GetTaskFactory(Configuration.IApplicationLogSettings settings, bool frameworkDefault, bool localScheduling)
        {
            if (frameworkDefault)
            {
                return(Task.Factory);
            }

            if (localScheduling)
            {
                return(_localTaskFactory ??
                       (_localTaskFactory = new TaskFactory(TaskSchedulerFactory.GetThreadLocalScheduler(settings))));
            }

            return(_globalTaskFactory ??
                   (_globalTaskFactory = new TaskFactory(TaskSchedulerFactory.GetGlobalScheduler(settings))));
        }