Difference between revisions of "love.thread"

(Oh, love.events should now be fine with threads.)
(Added info about love.thread only having love.thread loaded at start.)
Line 3: Line 3:
  
 
Threads are separate Lua environments, running in parallel to the main code. As their code runs separately, they can be used to compute complex operations without adversely affecting the frame rate of the main thread. However, as they are separate environments, they cannot access the variables and functions of the main thread, and communication between threads is limited.
 
Threads are separate Lua environments, running in parallel to the main code. As their code runs separately, they can be used to compute complex operations without adversely affecting the frame rate of the main thread. However, as they are separate environments, they cannot access the variables and functions of the main thread, and communication between threads is limited.
 +
 +
When a [[Thread]] is started, it only loads the love.thread module. Every other module has to be loaded with [[require]].
 
{{notice|The [[love.graphics]] module has several restrictions and therefore should only be used in the main thread.}}
 
{{notice|The [[love.graphics]] module has several restrictions and therefore should only be used in the main thread.}}
 
== Types ==
 
== Types ==

Revision as of 13:54, 10 May 2012

Available since LÖVE 0.7.0
This module is not supported in earlier versions.

Allows you to work with threads.

Threads are separate Lua environments, running in parallel to the main code. As their code runs separately, they can be used to compute complex operations without adversely affecting the frame rate of the main thread. However, as they are separate environments, they cannot access the variables and functions of the main thread, and communication between threads is limited.

When a Thread is started, it only loads the love.thread module. Every other module has to be loaded with require.

O.png The love.graphics module has several restrictions and therefore should only be used in the main thread.  


Types

ChannelAn object which can be used to send and receive data between different threads.
ThreadA Thread represents a thread.

Functions

love.thread.getChannelCreates or retrieves a named thread channel.
love.thread.getThreadLook for a thread and get its object.
love.thread.getThreadsGet all threads.
love.thread.newChannelCreates a new unnamed thread channel.
love.thread.newThreadCreates a new Thread from a filename, string or FileData object containing Lua code.


See Also

Other Languages