当前位置: 首页 > 知识库问答 >
问题:

调用异步函数。一种习俗。C#线程

陶永望
2023-03-14
_thread = new Thread(() => processData());
myfunc().GetAwaiter().GetResult();

还是有别的办法?因为既然它是一个自定义线程,我不认为这一次它是否真的在做任何事情。我如何调用异步等待从。自定义线程,以便正确使用它?

共有1个答案

高溪叠
2023-03-14

如果您想继续使用您的自定义线程,那么是的,它必须阻止异步代码。getawaiter().getresult()可能是您最好的选择。

还是有别的办法?

是的。如果可以用线程池线程替换自定义线程,那么可以使用task.run代替thread,然后可以使用更自然的awaiter().getresult()代替getawaiter()。大多数自定义线程可以被线程池线程替换,但并不总是这样。

 类似资料:
  • 问题内容: 我想要做的是异步地从数据库或内存缓存中加载一些数据。 我知道我知道。“ PHP不支持线程”。 但是register_tick_function呢?确实不是线程吗? 有没有人利用register_tick_function完成任何类型的预测性预加载或实际上进行了任何后台处理? 问题答案: PHP当然可以支持线程。从SQL /NoSQL数据库并行加载数据绝对有可能。请参阅PHP手册,在gi

  • 问题内容: 首先,这是一个非常特殊的情况,它以错误的方式故意将异步调用改型为一个非常同步的代码库,该代码库长成千上万行,并且当前时间不具备进行更改的能力。对的。” 它伤害了我的每一个生命,但是现实和理想往往并没有相互融合。我知道这很糟糕。 好的,顺便说一句,我该如何做,这样我可以: 示例(或缺少示例)全部使用库和/或编译器,这两种库均不适用于此解决方案。我需要一个如何使其冻结的具体示例(例如,在调

  • 我在一个循环中调用了一个异步函数来发送电子邮件,但是有一段时间控件没有返回,也没有发送电子邮件,但是主UI线程完成了。 当我把等待任务。WhenAll(发送电子邮件任务);循环内的线工作正常,但当我把这条线放在循环外时,它不工作,但实际上它应该在循环外。我在sendEmail方法中有很多异步方法,所以我认为有些线程彼此重叠。任何线索。

  • 问题内容: 我有一个异步函数,要连续多次调用。问题是“多个”可以是几十万或数百万… 显而易见的方法是从回调中调用相同的函数,如下所示: 当然,涉及一些逻辑来停止递归。问题是堆栈是否充满了调用,并可能在某些时候导致堆栈溢出? 问题答案: 问题是堆栈是否充满了调用,并可能在某些时候导致堆栈溢出? 否。 如果调用回调是异步传递的,则不会堆积堆栈。 在您的代码中: 这是逐步发生的事情: 首先被称为。 然后

  • 当导航到带有防护装置的页面时,已或都会打印到控制台(在等待 firebase 响应的一段时间后)。但是,导航永远不会完成。另外,如果我没有登录,我会被重定向到路由。因此,我遇到的问题是 不会向用户显示请求的页面。我假设这是因为我正在使用回调,但我无法弄清楚如何做到这一点。有什么想法吗?

  • 链式调用异步函数。 循环遍历包含异步事件的函数数组,每次异步事件完成后调用 next 。 const chainAsync = fns => { let curr = 0; const next = () => fns[curr++](next); next(); }; chainAsync([ next => { console.log('0 seconds');