Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading wait/async是如何工作的?_Multithreading_Async Await - Fatal编程技术网

Multithreading wait/async是如何工作的?

Multithreading wait/async是如何工作的?,multithreading,async-await,Multithreading,Async Await,假设线程A使用“wait”在线程B上等待完成某件事情。当B忙于工作负载时,A被认为已被标记为“挂起点”。A中的执行流将继续使用挂起代码块的“调用者”方法。当B完成时,它将通知A从暂停点继续 我的问题是: 为挂起点保留的上下文信息的内容是什么 如何存储上下文信息 B如何通知A它的完成 如何恢复文件的上下文信息?(我认为,一旦A的上下文信息恢复,A将从暂停点“自然”恢复) “异步”和“等待”分别对编译器有什么影响。换句话说,编译器在幕后做什么特殊的工作 首先,忘记线程async和await与线程关

假设线程A使用“wait”在线程B上等待完成某件事情。当B忙于工作负载时,A被认为已被标记为“挂起点”。A中的执行流将继续使用挂起代码块的“调用者”方法。当B完成时,它将通知A从暂停点继续

我的问题是:

  • 为挂起点保留的上下文信息的内容是什么

  • 如何存储上下文信息

  • B如何通知A它的完成

  • 如何恢复文件的上下文信息?(我认为,一旦A的上下文信息恢复,A将从暂停点“自然”恢复)

  • “异步”和“等待”分别对编译器有什么影响。换句话说,编译器在幕后做什么特殊的工作


    • 首先,忘记线程
      async
      await
      与线程关系不大,而与重写方法关系更大,因此您可以更轻松地使用延续传递样式


      我建议你们先阅读我的文章,然后再跟进(这很好)。这将回答除最后一个问题外的所有问题,最后一个问题最好由以下人员回答。

      首先,忘记线程
      async
      await
      与线程关系不大,而与重写方法关系更大,因此您可以更轻松地使用延续传递样式


      我建议你们先阅读我的文章,然后再跟进(这很好)。这将回答您所有的问题,但最后一个问题的答案最好是。

      谢谢您提供的参考资料,由于时间限制,我到目前为止只阅读了一些资料。我将花一些时间阅读这些链接。感谢您提供的参考资料,由于时间限制,到目前为止我只阅读了一些资料。我将花一些时间阅读链接。