问题标签 [asynchronous]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
48082 浏览

c# - 如何编写异步 LINQ 查询?

看了一堆 LINQ 相关的东西后,我突然意识到没有文章介绍如何编写异步 LINQ 查询。

假设我们使用 LINQ to SQL,下面的语句很清楚。但是,如果 SQL 数据库响应缓慢,那么使用这块代码的线程就会受到阻碍。

似乎当前的 LINQ 查询规范不对此提供支持。

有没有办法做异步编程LINQ?当结果准备好使用时,它的工作方式就像有一个回调通知,而 I/O 没有任何阻塞延迟。

0 投票
4 回答
1152 浏览

c# - 如何阻塞直到异步作业完成

我正在开发一个 C# 库,它使用 NVIDIA 的 CUDA 将某些工作任务卸载到 GPU。一个例子是使用扩展方法将两个数组相加:

这段代码中的工作是在 GPU 上完成的。但是,我希望它异步完成,这样只有在需要结果时才会在 CPU 块上运行代码(如果结果尚未在 GPU 上完成)。为此,我创建了一个隐藏异步执行的 ExecutionResult 类。在使用中,它看起来如下:

在最后一行,如果数据已经准备好,程序会阻塞。我不确定在 ExecutionResult 类中实现这种阻塞行为的最佳方法,因为我对同步线程和这类事情不是很有经验。

传递给构造函数的 Action 是在 GPU 上执行实际工作的异步方法。嵌套的 Action 是异步回调方法。

我主要关心的是如何最好/最优雅地处理转换器中完成的等待,以及是否有更合适的方法来解决整个问题。如果我需要详细说明或进一步解释,请发表评论。

0 投票
2 回答
7549 浏览

asp.net - ASP.NET 2.0 异步用户控件不起作用

我试图让用户控件异步工作,但无论我做什么,它都会继续同步工作。作为测试 Web 应用程序,我已将其精简到最低限度。这将是用户控件:

这将是我托管控件三次的页面:

页面显示没有错误,但页面底部的跟踪显示每个控件实例是同步处理的。我究竟做错了什么?我缺少的地方是否有配置设置?

0 投票
5 回答
11051 浏览

asynchronous - 起始位与起始字节

我知道在很多异步通信中,数据包从一个起始位开始。

但是起始位只是 1 或 0。如何区分起始位与结束位与最后一个数据包?

前任。如果我选择我的起始位为 0,我的结束位为 1。并且我收到 0(数据流 A)1 0(数据流 B)1,有什么可以阻止我假设有一个数据流 C 包含“(数据流A)1 0(数据流B)”的内容相同?

有一个起始字节然后检查数据流中的比特组合不是更方便吗?这将减少开始/结束位之间混淆的可能性。

0 投票
5 回答
3713 浏览

asp.net-mvc - ASP.NET MVC 框架是否支持异步页面执行?

我正在学习 ASP.NET MVC 框架,从这样的一些文章,似乎 MvcHandler 只实现了 Execute(),没有实现异步 API。实际上,我认为 Controller 也没有异步 API。

那么,ASP.NET MVC 不支持异步编程吗?如果网页需要 I/O 操作,这可能是可扩展性的一大障碍。

0 投票
3 回答
4310 浏览

asp.net - 如何使 ASP.NET MVC 从 IRouteHandler.GetHttpHandler() 识别 IHttpAsyncHandler?

在这个问答中,我找到了一种让 ASP.NET MVC 支持异步处理的方法。但是,我不能让它工作。

基本上,这个想法是创建一个新的 IRouteHandler 实现,它只有一个方法GetHttpHandler。GetHttpHandler方法应该返回一个实现而不是 just 因为有 Begin/EndXXXX 模式 API。IHttpAsyncHandlerIHttpHandlerIHttpAsyncHandler

然后,在文件 Global.asax.cs 的 RegisterRoutes 方法中,注册这个类AsyncMvcRouteHandler

我在ProcessRequestBeginProcessRequestEndProcessRequest设置断点。仅执行ProcessRequest。换句话说,即使AsyncMvcHandler实现了IHttpAsyncHandler。ASP.NET MVC 不知道这一点,只是将其作为IHttpHandler实现处理。

如何使 ASP.NET MVC 将AsyncMvcHandler视为IHttpAsyncHandler以便我们可以进行异步页面处理?

0 投票
1 回答
2029 浏览

asp.net - “最佳实践”/最喜欢的调用 Web 服务的模式 (ASP.NET)

问题:

  • 我们有一个 Web 应用程序,它异步调用一些 Web 服务(从页面)。
  • 通常这很好,但有些在负载测试下失败(由于超时)。

在 Web 应用程序中异步调用 Web 服务的建议“最佳实践”是什么(如果有的话)?

  • 是否有任何可能有用的模式?
  • 是否应该避免直接调用服务?(也许诉诸其他方法,如 AJAX)?

说明 - 直接调用:

  • 我应该更多地关注改进异常处理而不是调用服务吗?

非常感谢。

更新

我一直在谷歌上搜索并找到了这篇关于创建“服务代理”的文章,虽然它与 WinForms 相关,但稍后我肯定会坐下来阅读这篇文章,看看它如何影响我对此的想法 :)

0 投票
4 回答
1720 浏览

multithreading - 为什么基于事件的网络应用程序天生就比线程应用程序快?

我们都阅读了基准测试并知道事实——基于事件的异步网络服务器比线程服务器更快。想想 lighttpd 或 Zeus 与 Apache 或 IIS。这是为什么?

0 投票
7 回答
73201 浏览

c# - 实现 C# 通用超时

我正在寻找实现通用方法的好主意,以使单行(或匿名委托)代码在超时时执行。

我正在寻找一种可以在我的代码与气质代码交互的许多地方优雅地实现的解决方案(我无法更改)。

此外,如果可能的话,我希望停止执行有问题的“超时”代码。

0 投票
1 回答
1523 浏览

asp.net - 如何在 javascript 中同步 web 服务调用

我有一个控制应用程序 - 使用 asp.net webservices。

我有一个计时器,它每 5 秒执行一次异步 Web 服务调用以更新屏幕。还有用于刷新部分屏幕的用户按钮,也进行异步 Web 服务调用。

问题是如果在计时器 web 服务响应到达之前发出用户 web 服务命令,我的屏幕会变得混乱。基本上,如果正在进行挂起的异步计时器调用,我希望用户命令等待。如何在 Javascript 中的这些调用之间进行同步?

谢谢。