love.thread (Deutsch)
Available since LÖVE 0.7.0 |
This module is not supported in earlier versions. |
Ermöglicht das Arbeiten mit Threads.
Threads sind separate Lua Umgebungen, die parallel zum Hauptcode arbeiten. Durch diese Eigenschaft können Threads benutzt werden um komplexe Operationen zu berechnen ohne die Framerate negativ zu beeinflussen. Allerdings können Threads, da sie in eigenständigen Umgebungen ausgeführt werden, nicht auf die Variablen und Funtionen des Hauptprogramms zugreifen und die Kommunikation zwischen Threads ist begrenzt.
Alle LÖVE Objekte (userdata) werden zwischen den Threads aufgeteilt, sodass nur eine Referenz an die Threads geschickt werden muss. Es können Probleme auftreten, wenn dasselbe Objekt glechzeitig in mehreren Threads manipuliert wird.
Wenn ein Thread startet, wird nur das lova.thread Modul geladen. Alle anderen benötigten Module müssen mittels require geladen werden.
Das love.graphics Modul unterliegt einigen Einschränkungen und sollte deshalb nur im Hauptprogramm benutzt werden. |
Sofern keine love.threaderror Rückruffunktion definiert wurde und nicht Thread:Error genutzt wird, wird LÖVE keine Meldungen für Fehler ausgeben, welche bei der Ausführung eines Threads auftreten. |
Typen
Channel (Deutsch) | Ein Objekt welches dazu genutzt werden kann, Daten zwischen verschiedenen Threads auszutauschen. | 0.9.0 | |
Thread (Deutsch) | Ein Thread ist ein Code-Baustein, der parallel zu anderen Threads ausgeführt werden kann. | 0.7.0 |
Funktionen
love.thread.newChannel (Deutsch) | Erstellt einen neuen unbenannten Channel. | 0.9.0 | |
love.thread.newThread (Deutsch) | Erstellt einen neuen Thread aus einer Lua-Datei oder einem FileData-Objekt. | 0.7.0 |
Beispiele
Für 0.9.0: http://love2d.org/forums/viewtopic.php?f=4&t=76670 (engl.)
Siehe auch
Andere Sprachen
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