love.thread (日本語)
LÖVE 0.7.0 から使用可能 |
このmoduleは以前のバージョンでは非対応です。 |
スレッドを使用して作業を行えるようにします。
スレッドは Lua 環境とは独立しており、メインコードと並列で実行されます。これらのコードは別々に実行されるためメイン・スレッドのフレーム・レートには悪影響を与えずに複雑な演算の計算を行うために使用することができます。しかし、独立した環境であるため、メイン・スレッドの変数および関数にはアクセスできないため、スレッド間の通信は制限されています。
全ての LOVE オブジェクト (userdata) はスレッドを経由して参照物を送信する場合のみスレッド間で共有されます。複数のスレッドで同時にオブジェクトを操作する場合に起きる並列性の問題は発生してもかまいません。
Thread を開始したときは、 love.thread モジュールのみ読み込まれます。 その他のモジュールは require により別々に読み込む必要があります。
love.graphics および love.window モジュールには一部制限があるためメインスレッドのみで使用できます。 |
love.threaderror コールバックを定義するか Thread:getError を呼び出すまでスレッドのコードが投げてくるエラーを参照できません。 |
型
Channel (日本語) | このオブジェクトは別のスレッド間でデータの送信および受信に使用できます。 | 0.9.0 | |
Thread (日本語) | Thread はスレッドを提供します。 | 0.7.0 |
関数
love.thread.getChannel (日本語) | 名前ありスレッドのチャンネルを作成または検索します。 | 0.9.0 | |
love.thread.getThread (日本語) | スレッドを検索してオブジェクトを取得します。 | 0.7.0 | 0.9.0 |
love.thread.getThreads (日本語) | 全てのスレッドを取得します。 | 0.7.0 | 0.9.0 |
love.thread.newChannel (日本語) | 名前なしスレッドのチャンネルを新規作成します。 | 0.9.0 | |
love.thread.newThread (日本語) | ファイル名、文字列または Lua コードのある FileData オブジェクトからスレッドを新規作成します。 | 0.7.0 |
用例
LÖVE 0.9.0 用: http://love2d.org/forums/viewtopic.php?f=4&t=76670
関連
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info