Difference between revisions of "X Threads"
From GiderosMobile
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | |||
<!-- GIDEROSOBJ:Threads --> | <!-- GIDEROSOBJ:Threads --> | ||
− | ''' | + | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform pc.png]][[File:Platform mac.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/> |
− | ''' | + | '''Available since:''' 2018.10<br/> |
− | |||
− | |||
− | |||
− | |||
− | '''Simple example of getting result from thread | + | === Description === |
− | <source lang="lua">require "Threads" | + | The '''Threads''' plugin provides the ability to run Lua code in separate threads, taking advantage of multiple cores where available. |
+ | |||
+ | === Example === | ||
+ | '''Simple example of getting result from a thread''' | ||
+ | <source lang="lua"> | ||
+ | require "Threads" | ||
local thread = Thread.new() | local thread = Thread.new() | ||
thread:setFunction(function() | thread:setFunction(function() | ||
− | + | local a = 0 | |
− | + | for i = 1, 10000000 do | |
− | + | a += 1 | |
− | + | end | |
− | + | return i | |
end) | end) | ||
thread:execute() | thread:execute() | ||
local ok = false | local ok = false | ||
while not ok do | while not ok do | ||
− | + | ok = thread:getResult() | |
end | end | ||
print("woot!") | print("woot!") | ||
</source> | </source> | ||
− | === | + | === Class === |
− | [[ | + | [[Thread]]<br/> |
{{Thread}} | {{Thread}} |
Revision as of 04:55, 11 June 2023
Supported platforms:
Available since: 2018.10
Description
The Threads plugin provides the ability to run Lua code in separate threads, taking advantage of multiple cores where available.
Example
Simple example of getting result from a thread
require "Threads"
local thread = Thread.new()
thread:setFunction(function()
local a = 0
for i = 1, 10000000 do
a += 1
end
return i
end)
thread:execute()
local ok = false
while not ok do
ok = thread:getResult()
end
print("woot!")
Class