C#:异步例程执行

时间:2016-07-27 13:13:53

标签: c# multithreading azure asynchronous

/wp-json/wp/v2/posts

以上是一个简单的天蓝色webjob。 class Program { static void Main() { int a = sync_routine_1(); int b = sync_routine_2(); async_routine_3(a, b); sync_routine_4(); } } & sync_routine1将在数据库上执行,并返回两个整数sync_routine2& a。这些是根据同一数据库上的一系列操作计算的。这两个int变量用作b的输入参数。在此例程中,数据被插入到托管在完全不同的服务器上的另一个数据库中。

我想在async_routine_3完成后结束Program实例的执行,而不管sync_routine4()的执行状态如何。

  

这种情况没有发生,async_routine3()的执行在中途停止。

我如何编写异步方法,以便在从主线程调用时在单独的线程上执行自身,并在完成后自行终止。我不希望主线程等到async_routine3()完成。

我所要求的可能不是一个好的编码实践,但是,因为需要完成的工作量太大了。如果出现任何故障,我们会为该方法提供不同的日志记录。所以我可以重复这个过程,即使在稍后阶段也可以完成例程。

1 个答案:

答案 0 :(得分:0)

如果您不想等待异步例程并且希望正在运行的线程在完成之前退出,则需要将该异步方法打包到另一个可执行文件中,然后从现有的可执行文件中启动该过程。代码。