Difference between revisions of "love.thread (日本語)"

m (Translation updated. (明日で日本語版作業開始一周年目のため、一時的に作業復帰))
m (関連: Added related link from forums.)
Line 41: Line 41:
 
== 関連 ==
 
== 関連 ==
 
* [[parent::love (日本語)]]
 
* [[parent::love (日本語)]]
 +
* [https://love2d.org/forums/viewtopic.php?t=83505 returning table from love.thread - LÖVE (love.thread からテーブルを返す方法)]
 +
* [https://love2d.org/forums/viewtopic.php?t=84051 How works love.threads? - LÖVE (love.thread の動作に関して)]
 +
* [https://love2d.org/forums/viewtopic.php?t=84133 How to kill thread on any error? (エラーが起きた時にスレッドを停止する方法に関して)]
 +
* [https://love2d.org/forums/viewtopic.php?t=84135 Threads and channels - LÖVE (スレッドとチャンネルに関して)]
  
 
== そのほかの言語 ==
 
== そのほかの言語 ==
 
{{i18n|love.thread}}
 
{{i18n|love.thread}}

Revision as of 09:33, 14 August 2017

LÖVE 0.7.0 から使用可能
このmoduleは以前のバージョンでは非対応です。

スレッドを使用して作業を行えるようにします。

スレッドはメインコードとは個別に独立した Lua 環境であり、メインコードと並列で実行されます。スレッドのコードは別々に実行されるため、メイン・スレッドのフレーム・レートに悪影響を与えることなく複雑な計算作業を処理するために使用することができますが、スレッドは個々に独立した環境である関係でメイン・スレッドに存在する変数および関数にはアクセスできませんので、スレッド間の通信は制限されています。

全ての LÖVE オブジェクト (userdata) はスレッドを経由して参照物を送信する場合に限り、スレッド間で共有されます。複数のスレッドで同時にオブジェクトを操作する場合に起きる並列性の問題は発生してもかまいません。

Thread を開始したときは、 love.thread モジュールのみ読み込まれます。 その他のモジュールは require により別々に読み込む必要があります。

O.png love.graphics および love.window モジュールには一部制限があるためメインスレッドのみで使用できます。  


O.png love.threaderror コールバックを定義するか Thread:getError を呼び出すまでスレッドのコードが投げてくるエラーを参照できません。  


Channel (日本語) このオブジェクトは別のスレッド間でデータの送信および受信に使用できます。 Added since 0.9.0
Thread (日本語) Thread はスレッドを提供します。 Added since 0.7.0

関数

love.thread.getChannel (日本語) 名前ありスレッドのチャンネルを作成または検索します。 Added since 0.9.0
love.thread.getThread (日本語) スレッドを検索してオブジェクトを取得します。 Added since 0.7.0 Removed in 0.9.0
love.thread.getThreads (日本語) 全てのスレッドを取得します。 Added since 0.7.0 Removed in 0.9.0
love.thread.newChannel (日本語) 名前なしスレッドのチャンネルを新規作成します。 Added since 0.9.0
love.thread.newThread (日本語) ファイル名、文字列または Lua コードのある FileData オブジェクトからスレッドを新規作成します。 Added since 0.7.0


用例

LÖVE 0.9.0 用: http://love2d.org/forums/viewtopic.php?f=4&t=76670

関連

そのほかの言語