diff --git a/Thread.md b/Thread.md index 6d3f665..01a7632 100644 --- a/Thread.md +++ b/Thread.md @@ -1 +1,39 @@ -WIP \ No newline at end of file +Threads are "functions" you can execute simultaneously. Ofc the reality is, i am just using coroutine for that. But it works pretty good AND is very easy to use. +
+Here is a list of all available functions for threads:
+ +## start +sets the time the timer should wait after calling your function +````lua +local mainFrame = basalt.createFrame("myFirstFrame"):show() +local aThread = mainFrame:addThread("myFirstThread"):show() +local function randomThreadFunction() + while true do + basalt.debug("Thread is active") + os.sleep(1) -- a sleep/coroutine.yield() or pullEvent is required otherwise we will never come back to the main program (error) + end +end +aThread:start(randomThreadfunction) +```` +**parameters:**function func
+**returns:** self
+ +## getStatus +gets the thread status +````lua +local mainFrame = basalt.createFrame("myFirstFrame"):show() +local aThread = mainFrame:addThread("myFirstThread"):show() +basalt.debug(aThread:getStatus()) -- returns "running", "normal", "suspended" or "dead" +```` +**parameters:** -
+**returns:** string "running" - if its running, "normal" - is active but not running (waiting for a event), "suspended" - is suspended
+ +## stop +stops the thread +````lua +local mainFrame = basalt.createFrame("myFirstFrame"):show() +local aThread = mainFrame:addThread("myFirstThread"):show() +basalt.debug(aThread:getStatus()) -- returns "running", "normal", "suspended" or "dead" +```` +**parameters:** -
+**returns:** self
\ No newline at end of file