Difference between revisions of "love.thread (日本語)"
m (→関連) |
m (Bit improved description.) |
||
Line 1: | Line 1: | ||
{{newin (日本語)|[[0.7.0]]|070|type=module}} | {{newin (日本語)|[[0.7.0]]|070|type=module}} | ||
− | + | スレッドを使用して作業を分担できるようにします。 | |
− | スレッドはメインコードとは個別に独立した Lua | + | スレッドはメインコードとは個別に独立した Lua 環境であり、メインコードと並列で実行されます。スレッドのコードは別々に実行される関係で、メイン・スレッドのフレーム・レートに悪影響を与えることなく複雑な計算作業を処理するために使用することができます。しかし、スレッドは個々に独立した環境である関係でメイン・スレッドに存在する変数および関数にはアクセスできませんので、スレッド間の通信は制限されています。 |
− | 全ての LÖVE オブジェクト (userdata) | + | 全ての LÖVE オブジェクト (userdata) はスレッドを経由してオブジェクトを送信する場合に限り、スレッド間で共有されます。複数のスレッドで同時にオブジェクトを操作する場合に起きる並列性の問題は発生しても問題はありません。 |
− | [[Thread (日本語)| | + | [[Thread (日本語)|スレッド]]の開始時に love.thread モジュールのみ読み込まれます。 その他のモジュールは [[require (日本語)|require]] により別々に読み込む必要があります。 |
{{notice|[[love.graphics (日本語)|love.graphics]] および [[love.window (日本語)|love.window]] モジュールには一部制限があるためメインスレッドのみで使用できます。}} | {{notice|[[love.graphics (日本語)|love.graphics]] および [[love.window (日本語)|love.window]] モジュールには一部制限があるためメインスレッドのみで使用できます。}} | ||
− | {{notice|[[love.threaderror (日本語)|love.threaderror]] コールバックを定義するか [[Thread:getError (日本語)|Thread:getError]] | + | {{notice|[[love.threaderror (日本語)|love.threaderror]] コールバックを定義するか [[Thread:getError (日本語)|Thread:getError]] を呼び出すまでスレッドのコードが投げてくるエラーは参照できません。}} |
== 型 == | == 型 == | ||
Line 34: | Line 34: | ||
}} | }} | ||
[[Category:Modules]] | [[Category:Modules]] | ||
− | {{#set:Description= | + | {{#set:Description=スレッドを使用して処理を分担できるようにします。}} |
{{#set:Since=070}} | {{#set:Since=070}} | ||
== 用例 == | == 用例 == |
Revision as of 08:44, 19 October 2017
LÖVE 0.7.0 から使用可能 |
このmoduleは以前のバージョンでは非対応です。 |
スレッドを使用して作業を分担できるようにします。
スレッドはメインコードとは個別に独立した Lua 環境であり、メインコードと並列で実行されます。スレッドのコードは別々に実行される関係で、メイン・スレッドのフレーム・レートに悪影響を与えることなく複雑な計算作業を処理するために使用することができます。しかし、スレッドは個々に独立した環境である関係でメイン・スレッドに存在する変数および関数にはアクセスできませんので、スレッド間の通信は制限されています。
全ての LÖVE オブジェクト (userdata) はスレッドを経由してオブジェクトを送信する場合に限り、スレッド間で共有されます。複数のスレッドで同時にオブジェクトを操作する場合に起きる並列性の問題は発生しても問題はありません。
スレッドの開始時に 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
関連
- love (日本語)
- love-loader
- returning table from love.thread - LÖVE (love.thread からテーブルを返す方法)
- How works love.threads? - LÖVE (love.thread の動作に関して)
- How to kill thread on any error? - LÖVE (エラーが起きた時にスレッドを停止する方法に関して)
- Threads and channels - LÖVE (スレッドとチャンネルに関して)
- Loading images in a thread - LÖVE (スレッドで画像を読み込む方法に関して)
そのほかの言語
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