小编Ami*_*ash的帖子

是否建议将prevTask.Wait()与ContinueWith一起使用(来自Tasks库)?

所以我最近被告知我如何使用我的.ContinueWith for Tasks并不是使用它们的正确方法.我还没有在互联网上找到这方面的证据,所以我会问你们,看看答案是什么.这是我如何使用的例子.ContinueWith:

public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 3");
    });
}
Run Code Online (Sandbox Code Playgroud)

现在我知道这是一个简单的例子,它运行得非常快,但只是假设每个任务都进行了更长时间的操作.所以,我被告知在.ContinueWith中,你需要说prevTask.Wait(); 否则你可以在上一个任务完成之前完成工作.这甚至可能吗?我假设我的第二个和第三个任务只会在前一个任务完成后运行.

我被告知如何编写代码:

public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 3");
    });
}
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library

88
推荐指数
4
解决办法
9万
查看次数

具有正文的lambda表达式的确切类型是什么?

Windows窗体扩展方法Invoke()不接受lambda表达式,我们不必首先将它类型转换为类似Action的委托类型.这让我想知道,如果lambda表达式(带有主体)不是显式委托或表达式,它的类型是什么?

.net c# lambda

4
推荐指数
1
解决办法
103
查看次数

AWS MSK 与 Confluence 托管 Kafka 的比较?

就投资最大价值而言,在托管端到端 Kafka 事件源方面,AWS MSK 与 Confluence 相比如何?

用于比较的主要标准是:

  1. 监控
  2. 易于部署和配置
  3. 安全

apache-kafka aws-msk confluent-platform

0
推荐指数
1
解决办法
8660
查看次数