ファイバー、別名コルーチン、別名ユーザー モード スレッドを介した同時実行性をサポートする言語で、新しいネットワーク サーバー プロジェクトを開始したいと考えています。「コルーチン」という用語はさまざまなことを意味するために非常に大まかに使用されているようであり、「ファイバー」はほぼ独占的に Win32 API に関して使用されているため、私のオプションが何であるかを正確に判断することは非常に困難でした。
この質問の目的のために、コルーチン/ファイバー:
- ネストされた関数内から呼び出し元の関数に結果を与えることによって実行を一時停止するメソッドをサポートする (つまり、コルーチン/ファイバーが呼び出されたコール スタックの任意の深さ)
- 現在の実行時点で別の任意のコルーチンに制御を移すことをサポートします (つまり、コルーチンを呼び出さなかったコルーチンに譲ります)
言語オプションは何ですか? Ruby 1.9 と Perl (Coro) の両方がサポートされていることは知っていますが、他に何がありますか? 成熟した gc と動的メソッド呼び出しを備えたもので十分です。