task-parallel-library相关内容
我一直在尝试获得一些我认为使用 .NET 4.5 很简单的东西 我想同时启动两个长时间运行的任务并收集 结果是最好的 C# 4.5 (RTM) 方式 以下有效,但我不喜欢它,因为: 我希望 Sleep 成为一个异步方法,以便它可以await 其他方法 它看起来很笨拙,Task.Run() 我认为这根本没有使用任何新的语言功能! 工作代码: public static
..
我有 3 个任务: 私有异步任务FeedCat() {}私有异步任务卖房() {}私有异步任务BuyCar() {} 在我的代码可以继续之前,它们都需要运行,我也需要每个的结果.结果没有任何共同点 如何调用并等待 3 个任务完成然后获取结果? 解决方案 使用 WhenAll 后,可以使用 await 单独拉出结果: var catTask = FeedCat();va
..
我正在处理这些 Windows 8 WinRT 任务,并且我正在尝试使用以下方法取消任务,并且它在某种程度上起作用.CancelNotification 方法确实被调用了,这让你认为任务被取消了,但在后台任务一直在运行,然后任务完成后,任务的状态始终是完成的,永远不会被取消.有没有办法在任务取消时完全停止任务? private async void TryTask(){CancellationT
..
这几天我测试了 .net 4.5 和 c#5 的新特性. 我喜欢它的新 async/await 功能.早些时候我使用 BackgroundWorker使用响应式 UI 在后台处理更长的进程. 我的问题是:在拥有这些不错的新功能之后,我应该什么时候使用 async/await 以及什么时候使用 BackgroundWorker?两者的常见场景是什么? 解决方案 async/awa
..
因此,只要应用程序正在运行或请求取消,我的应用程序就需要几乎连续执行操作(每次运行之间暂停 10 秒左右).它需要做的工作最多可能需要 30 秒. 最好使用 System.Timers.Timer 并使用 AutoReset 来确保它在前一个“滴答"完成之前不执行操作. 或者我应该在 LongRunning 模式下使用带有取消标记的常规任务,并在其中使用常规的无限 while 循环来调
..
我可能遗漏了一些东西,但这样做有什么区别: public void MyMethod(){任务 t = Task.Factory.StartNew(DoSomethingThatTakesTime);t.等待();UpdateLabelToSayItsComplete();}公共异步无效 MyMethod(){var 结果 = Task.Factory.StartNew(DoSomethingT
..
我一直在尝试获得一些我认为使用 .NET 4.5 很简单的东西 我想同时启动两个长时间运行的任务并收集 结果是最好的 C# 4.5 (RTM) 方式 以下有效,但我不喜欢它,因为: 我希望 Sleep 成为一个异步方法,以便它可以await 其他方法 它看起来很笨拙,Task.Run() 我认为这根本没有使用任何新的语言功能! 工作代码: public static
..
我有 3 个任务: 私有异步任务FeedCat() {}私有异步任务卖房() {}私有异步任务BuyCar() {} 在我的代码可以继续之前,它们都需要运行,我也需要每个的结果.结果没有任何共同点 如何调用并等待 3 个任务完成然后获取结果? 解决方案 使用 WhenAll 后,可以使用 await 单独拉出结果: var catTask = FeedCat();va
..
我正在处理这些 Windows 8 WinRT 任务,并且我正在尝试使用以下方法取消任务,并且它在某种程度上起作用.CancelNotification 方法确实被调用了,这让你认为任务被取消了,但在后台任务一直在运行,然后任务完成后,任务的状态始终是完成的,永远不会被取消.有没有办法在任务取消时完全停止任务? private async void TryTask(){CancellationT
..
这几天我测试了 .net 4.5 和 c#5 的新特性. 我喜欢它的新 async/await 功能.早些时候我使用 BackgroundWorker使用响应式 UI 在后台处理更长的进程. 我的问题是:在拥有这些不错的新功能之后,我应该何时使用 async/await 以及何时使用 BackgroundWorker?两者的常见场景是什么? 解决方案 async/await 旨
..
我有一个使用某些规则引擎执行规则的应用程序.我有大约 500 多条规则,我们的应用程序将收到大约 10,000 个条目,所有这 10,000 个条目都应分别通过这 500 条规则进行验证.我们目前正计划将所有规则迁移到 Azure 函数中.也就是说,每个 Azure 函数都对应一个规则. 所以我尝试了概念验证,并使用 Task.delay 创建了几个 Azure 函数来模拟真实的规则验证.我
..
我的应用程序需要将插件加载到单独的应用程序域中,然后异步执行其中的一些代码.我已经编写了一些代码来将 Task 包装在可编组类型中: 静态类 RemoteTask{公共静态异步任务ClientComplete(RemoteTaskremoteTask,CancellationToken 取消令牌){结果;使用 (cancellationToken.Register(remoteTask.Canc
..
我正在开发一个 Dataflow 管道,它读取一组文件,并针对每个文件中的每一行执行一系列 Dataflow 块. 在为文件中的每一行完成所有步骤后,我想对文件本身执行更多块,但我不知道这怎么可能. 通过 TransformManyBlock 拆分处理很简单,但是如何合并? 我习惯了 Apache Camel 的 Splitter 和 Aggregator 功能 - 或者 Dataf
..
如果我们有 aaa 任务,并且为该任务创建一个延续(通过 ContinueWith),使用 TaskContinuationOptions.RunSynchronously,如果方法在 中执行ContinueWith 如下: static async Task SimpleMethodContinuationAsync(Task antecedentTask, object state){//一
..
我花了几天时间在 Google 中搜索并试图了解为什么在我的情况下,在 任务 中执行 ping 时,Windows 窗体 UI 被阻止.我看到了很多类似的案例,但没有一个能解释我的具体案例. 问题描述: 我有一个异步发送 ping 的应用程序.每个 ping 都在任务内部发送.我使用 .ContinueWith 接收 ping 的结果并将其打印到文本框而不阻塞 UI 线程.如果我一次启
..
如何在 BlockingCollection 上使用 TryTake 方法以毫秒为单位传递超时时间? 签名如下: BlockingCollection.TryTake(item: byref, millisecondsTimeout: int) : bool 是否可以使用 Tuple 方法来避免像 Dictionary.TryGet 方法那样传递 ref 类型? 即 让成
..
我有 N 个进程在 SQL Server 2008 上运行.如果任何一个进程失败,我需要回滚所有其他进程. 我正在考虑使用 TPL 创建一个父任务和 N 个子任务.所有这些都包含在一个 transactionScope (IsolationLevel.ReadCommitted) 中,但在我下面的示例中,child2 引发错误(customers2 不是有效表)而 child1 不会't 回
..
想知道您是否可以澄清. 我正在编写一个工具,所有要做的就是从数据库 (sql server) 中检索数据并创建 txt 文件.我说的是 500.000 个 txt 文件. 一切顺利. 但是我想知道使用 Task Parallel 库是否可以改进和加快创建这些文件所需的时间. 我知道(阅读)“TPL"不打算用于 I/0 绑定处理,并且很可能它会执行与顺序. 这是真的吗?
..
var task = Task.Run(() => DoSomeStuff()).Result; 幕后发生了什么? 我做了一个小测试: 使用系统;使用 System.Threading.Tasks;公开课计划{public static void Main(){var r = Task.Run(() => {Thread.Sleep(5000); return 123; }).Res
..
我有这个代码,它是为了证明问题而剥离的更大功能的骨架: var tasks = Enumerable.Range(0, 10).Select(laneNo => Task.Run(() => Console.WriteLine($"Starting generator for lane {laneNo}")));for(int r=0;;++r){Task.Delay(TimeSpan.Fro
..