<small id='fow9Z'></small><noframes id='fow9Z'>

      <legend id='fow9Z'><style id='fow9Z'><dir id='fow9Z'><q id='fow9Z'></q></dir></style></legend>
      • <bdo id='fow9Z'></bdo><ul id='fow9Z'></ul>

      1. <i id='fow9Z'><tr id='fow9Z'><dt id='fow9Z'><q id='fow9Z'><span id='fow9Z'><b id='fow9Z'><form id='fow9Z'><ins id='fow9Z'></ins><ul id='fow9Z'></ul><sub id='fow9Z'></sub></form><legend id='fow9Z'></legend><bdo id='fow9Z'><pre id='fow9Z'><center id='fow9Z'></center></pre></bdo></b><th id='fow9Z'></th></span></q></dt></tr></i><div id='fow9Z'><tfoot id='fow9Z'></tfoot><dl id='fow9Z'><fieldset id='fow9Z'></fieldset></dl></div>
        <tfoot id='fow9Z'></tfoot>
      2. Python中的协同例程与Lua中的协同例程相比如何?

        时间:2024-04-20

          <small id='ZYQAl'></small><noframes id='ZYQAl'>

        • <i id='ZYQAl'><tr id='ZYQAl'><dt id='ZYQAl'><q id='ZYQAl'><span id='ZYQAl'><b id='ZYQAl'><form id='ZYQAl'><ins id='ZYQAl'></ins><ul id='ZYQAl'></ul><sub id='ZYQAl'></sub></form><legend id='ZYQAl'></legend><bdo id='ZYQAl'><pre id='ZYQAl'><center id='ZYQAl'></center></pre></bdo></b><th id='ZYQAl'></th></span></q></dt></tr></i><div id='ZYQAl'><tfoot id='ZYQAl'></tfoot><dl id='ZYQAl'><fieldset id='ZYQAl'></fieldset></dl></div>
        • <tfoot id='ZYQAl'></tfoot>
          • <bdo id='ZYQAl'></bdo><ul id='ZYQAl'></ul>
            <legend id='ZYQAl'><style id='ZYQAl'><dir id='ZYQAl'><q id='ZYQAl'></q></dir></style></legend>
              <tbody id='ZYQAl'></tbody>

                  本文介绍了Python中的协同例程与Lua中的协同例程相比如何?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  Lua中对协程的支持是由functions in the coroutine table提供的,主要是createresumeyield。开发人员将这些协程描述为stackful, first-class and asymmetric。

                  在Python中也可以使用enhanced generators(和yield from)或3.5版中添加的async and await提供协程。

                  Python中的协程与Lua中的协程相比如何?它们也是堆叠的、一流的和不对称的吗?

                  为什么Python需要这么多构造(async defasync withasync for,asynchronous comprehensions,.)对于协程,而Lua只能为它们提供三个内置函数?

                  推荐答案

                  简单的答案是它们是不同的语言。是的,Python协程是堆栈的、一流的和不对称的。查看此答案:Coroutine vs Continuation vs Generator

                  来自Luadocumentation:

                  有些人称非对称协同例程为半协同例程(因为它们 它们不是对称的,它们并不是真的是同轴的)。然而,其他人 使用相同的术语半协同例程来表示受限实现 在协同例程中,协同例程只有在以下情况下才能暂停执行 它不在任何辅助函数中,也就是说,当它没有 其控件堆栈中的挂起调用。换句话说,只有主体 这样的半协同程序可以产生。Python中的生成器就是一个示例 半协同例程的这个含义。

                  与对称和非对称协同例程之间的区别不同, 协同程序和生成器之间的区别(如Python中所示) 是一个很深的问题;生成器的功能还不够强大,无法实现 我们可以用true编写的几个有趣的结构 协和程序。Lua提供了真实的、不对称的协同程序。那些更喜欢的人 对称协同例程可以在非对称 Lua的设施。这是一件容易的事。(基本上,每次传输都会 一份收益率,然后是一份简历。)

                  另请参阅Python开发人员邮件列表中的此讨论:PEP 492: What is the real goal?

                  这篇关于Python中的协同例程与Lua中的协同例程相比如何?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:在一定条件下从列表(或其他可迭代的)中获取项目数 下一篇:Python迭代器在对其执行某些操作后为空

                  相关文章

                1. <small id='RNyqs'></small><noframes id='RNyqs'>

                  <tfoot id='RNyqs'></tfoot>

                        <bdo id='RNyqs'></bdo><ul id='RNyqs'></ul>

                    1. <legend id='RNyqs'><style id='RNyqs'><dir id='RNyqs'><q id='RNyqs'></q></dir></style></legend>
                    2. <i id='RNyqs'><tr id='RNyqs'><dt id='RNyqs'><q id='RNyqs'><span id='RNyqs'><b id='RNyqs'><form id='RNyqs'><ins id='RNyqs'></ins><ul id='RNyqs'></ul><sub id='RNyqs'></sub></form><legend id='RNyqs'></legend><bdo id='RNyqs'><pre id='RNyqs'><center id='RNyqs'></center></pre></bdo></b><th id='RNyqs'></th></span></q></dt></tr></i><div id='RNyqs'><tfoot id='RNyqs'></tfoot><dl id='RNyqs'><fieldset id='RNyqs'></fieldset></dl></div>