Corona SDK を使用して別のスレッドで関数を強制的に呼び出すことはできますか?
どのように?
編集:つまり、システムの緩みを感じたのは、非同期呼び出しに依存していませんでした。それは、1000 以上の要素で埋めなければならないテーブル ビューでした。結局のところ、これはコロナ SDK の以前のバージョンのバグでした。最新のビルドに更新すると、テーブル ビューの行の挿入がはるかに高速になりました。
Corona SDK を使用して別のスレッドで関数を強制的に呼び出すことはできますか?
どのように?
編集:つまり、システムの緩みを感じたのは、非同期呼び出しに依存していませんでした。それは、1000 以上の要素で埋めなければならないテーブル ビューでした。結局のところ、これはコロナ SDK の以前のバージョンのバグでした。最新のビルドに更新すると、テーブル ビューの行の挿入がはるかに高速になりました。
Lua(およびCorona SDK)で最も近いのはコルーチンですが、これらは実際にはスレッドではなく、むしろ(Luaでのプログラミングを引用するために):
コルーチンは (マルチスレッドという意味で) スレッドに似ています。独自のスタック、独自のローカル変数、および独自の命令ポインターを持つ実行行です。ただし、グローバル変数と他のほとんどすべてを他のコルーチンと共有します。スレッドとコルーチンの主な違いは、概念上 (マルチプロセッサ マシンでは文字どおり)、スレッドを含むプログラムは複数のスレッドを同時に実行することです。一方、コルーチンは協調的です。コルーチンを含むプログラムは、常にそのコルーチンの 1 つだけを実行しており、この実行中のコルーチンは、明示的に一時停止を要求した場合にのみ実行を一時停止します。
残念ながら、スレッドのようになることを期待してコルーチンにアプローチすると、がっかりすることになります。