Beispiel #1
0
        public void Invoke(object threadOwner, Action action)
        {
            JobPool jobPool;

            lock (_sync)
            {
                if (!_jobPoolDictionary.TryGetValue(threadOwner, out jobPool))
                {
                    jobPool = new JobPool();
                    _jobPoolDictionary[threadOwner] = jobPool;
                }
            }
            jobPool.Execute(action);
        }
Beispiel #2
0
        public Task <T> InvokeAsync <T>(object threadOwner, Func <T> action)
        {
            JobPool jobPool;

            lock (_sync)
            {
                if (!_jobPoolDictionary.TryGetValue(threadOwner, out jobPool))
                {
                    jobPool = new JobPool();
                    _jobPoolDictionary[threadOwner] = jobPool;
                }
            }
            return(jobPool.ExecuteAsync(action));
        }