タグ付けされた質問 「coroutine」

30
「yield」キーワードは何をしますか?
yieldPython でのキーワードの用途とは何ですか? たとえば、私はこのコードを理解しようとしています1: def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild そしてこれが呼び出し元です: result, candidates = [], [self] while candidates: node = candidates.pop() distance = node._get_dist(obj) if distance <= max_dist and distance >= min_dist: …






4
グリーンレット対。スレッド
geventsとgreenletは初めてです。私はそれらをどのように使用するかについての良いドキュメントを見つけましたが、グリーンレットをいつどのように使用するべきかについて正当化するものはありませんでした! 彼らは本当に何が得意ですか? プロキシサーバーで使用するかどうかは良い考えですか? なぜスレッドではないのですか? それらが基本的にコルーチンである場合、それらがどのようにして並行性を提供できるかについて、私は確信がありません。

6
StartCoroutine / yield returnパターンはUnityで実際にどのように機能しますか?
コルーチンの原理を理解しています。UnityのC#で標準のStartCoroutine/ yield returnパターンを機能させる方法を知っています。たとえば、IEnumerator経由StartCoroutineで戻るメソッドを呼び出し、そのメソッドで何かを実行yield return new WaitForSeconds(1);し、少し待ってから、別の何かを実行します。 私の質問は、舞台裏で実際に何が起こっているのですか?StartCoroutine本当に何をしますか?何IEnumeratorがWaitForSeconds戻ってきますか?StartCoroutine呼び出されたメソッドの「何か他の」部分に制御を戻すにはどうすればよいですか?これらすべてがUnityの同時実行モデル(コルーチンを使用せずに多くのことが同時に行われている)とどのように相互作用しますか?
134 c#  unity3d  coroutine 

12
同等のC ++からPythonジェネレーターへのパターン
C ++で模倣する必要があるPythonコードの例をいくつか持っています。特定のソリューション(コルーティンベースの歩留まりソリューションなど、それらは許容できる回答ですが)は必要ありません。何らかの方法でセマンティクスを再現する必要があるだけです。 パイソン これは基本的なシーケンスジェネレーターであり、実体化されたバージョンを格納するには明らかに大きすぎます。 def pair_sequence(): for i in range(2**32): for j in range(2**32): yield (i, j) 目標は、上記のシーケンスの2つのインスタンスを維持し、それらをセミロックステップでチャンクで反復処理することです。以下の例ではfirst_passバッファを初期化するための対の配列を使用し、そしてsecond_pass再生する同じ正確な配列をし、再度バッファを処理します。 def run(): seq1 = pair_sequence() seq2 = pair_sequence() buffer = [0] * 1000 first_pass(seq1, buffer) second_pass(seq2, buffer) ... repeat ... C ++ C ++のソリューションで見つけることができる唯一のことはyield、C ++コルーチンを模倣することですが、これを行う方法に関する適切なリファレンスは見つかりませんでした。この問題の代替(一般的ではない)ソリューションにも興味があります。パス間でシーケンスのコピーを保持するのに十分なメモリバジェットがありません。

3
C ++ 20のコルーチンとは何ですか?
コルーチンとは c ++ 20? 「Parallelism2」または「および/または」「Concurrency2」(下記の画像をご覧ください)とはどのように異なりますか? 以下の画像はISOCPPからのものです。 https://isocpp.org/files/img/wg21-timeline-2017-03.png
104 c++  coroutine  c++20 

4
asyncio.ensure_future対BaseEventLoop.create_task対単純なコルーチン?
さまざまなフレーバーで同じ操作を行うasyncioに関するいくつかの基本的なPython 3.5チュートリアルを見てきました。このコードでは: import asyncio async def doit(i): print("Start %d" % i) await asyncio.sleep(3) print("End %d" % i) return i if __name__ == '__main__': loop = asyncio.get_event_loop() #futures = [asyncio.ensure_future(doit(i), loop=loop) for i in range(10)] #futures = [loop.create_task(doit(i)) for i in range(10)] futures = [doit(i) for i in range(10)] result = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.