【发布时间】:2019-04-26 22:11:38
【问题描述】:
目前我们有一个 C# 窗口服务应用程序,可以使用 REST API 及时从 JIRA 中提取数据。 在该应用程序中,我们有一个方法可以从 JIRA 中提取数据,方法是将项目名称作为输入传递给该方法,并且它将返回一个布尔标志以指示项目已成功提取。
到目前为止,我们通过在项目列表的for循环中调用该方法,以同步的方式从JIRA中提取了10个项目数据。
新需求需要从 JIRA 中提取“N”个项目?如果我们遵循同步方式,我们需要等待很长时间才能完成。但是通过以异步方式调用该方法,我们可以减少一些时间。
'N' 会随着时间的推移而增加。
我需要一个示例逻辑来应用相同的逻辑。
【问题讨论】:
-
这有点宽泛,但您可以考虑将您的逻辑放入线程中。然后,主应用程序每次想要从新项目中获取数据时都会简单地生成一个新线程。
-
我同意大卫的观点。你可以为 (int i=0;i
写这样的东西 -
@NoImagination 线程 != 异步
-
@johnny5,那有什么区别呢?
-
@NoImagination,异步操作不一定发生在另一个线程上,异步只会释放线程以在不依赖 CPU 的操作期间使用。例如,写入磁盘或发出 Web 请求,假设您正在使用适当的异步方法
标签: c# asynchronous