繁体   English   中英

在多个任务之间共享TaskScheduler实例

[英]Share TaskScheduler instance amongst several tasks

我创建了一个TaskScheduler并将其作为参数传递两个不同的任务。

这样做有什么问题吗? 我应该为每个任务创建一个新的TaskScheduler实例吗?

这是示例示例(为简单起见,删除了每个任务中的实际代码)

var uiSch = System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext();

var t1 = Task.Factory.StartNew<List<Carrier>>(() =>
                    {
                        //does stuff
                    })
                    .ContinueWith(previous =>
                        {
                            //does stuff
                        },
                        System.Threading.CancellationToken.None,
                        TaskContinuationOptions.OnlyOnRanToCompletion,
                        uiSch);

var t2 = Task.Factory.StartNew<List<Logic.WarehouseLogic.Warehouse>>(() =>
                    {
                        //does stuff
                    })
                    .ContinueWith(previous =>
                        {
                            //does stuff
                        },
                        System.Threading.CancellationToken.None,
                        TaskContinuationOptions.OnlyOnRanToCompletion,
                        uiSch);

[EDIT1]

我的问题部分与以下错误有关:“当前的SynchronizationContext可能不用作TaskScheduler”可以在此处找到修复程序

在同一个任务计划程序上计划多个任务没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM