Basalt 1.7 Update
- New Objects (Flexbox, Graph, Treeview) - Pluginsystem to add/remove functionality - Reworked the entire Object system, instead of one big Object Class we have multiple classes: Object, VisualObject, ChangeableObject - Instead of one big Frame Class we have multiple Frame Classes: BaseFrame, Frame, MovableFrame, ScrollableFrame, MonitorFrame, Flexbox - Removed the Animation Object, and added a animation plugin instead - Removed the Graphic Object and merged it's functionality with the image object - Updated currently existing objects
This commit is contained in:
65
docs/docs1_6/objects/Thread.md
Normal file
65
docs/docs1_6/objects/Thread.md
Normal file
@@ -0,0 +1,65 @@
|
||||
Threads are being executed simultaneously.
|
||||
<br>
|
||||
|
||||
## start
|
||||
starts a new thread and executes the function
|
||||
#### Parameters:
|
||||
1. `function` the function which should be executed
|
||||
|
||||
#### Returns:
|
||||
1. `object` The object in use
|
||||
|
||||
#### Usage:
|
||||
* Starts a new thread
|
||||
```lua
|
||||
local mainFrame = basalt.createFrame()
|
||||
local aThread = mainFrame:addThread()
|
||||
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)
|
||||
```
|
||||
you are also able to start threads via xml:
|
||||
```lua
|
||||
basalt.setVariable("myThread", function() while true do os.sleep(1) end end)
|
||||
```
|
||||
```xml
|
||||
<thread thread="myThread" start="true"/>
|
||||
```
|
||||
|
||||
## stop
|
||||
stops the thread
|
||||
|
||||
#### Returns:
|
||||
1. `object` The object in use
|
||||
|
||||
#### Usage:
|
||||
* Stops the current running thread by clicking on a button
|
||||
```lua
|
||||
local mainFrame = basalt.createFrame()
|
||||
local aThread = mainFrame:addThread()
|
||||
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)
|
||||
local aButton = mainFrame:addButton():setText("Stop Thread"):onClick(function() aThread:stop() end)
|
||||
```
|
||||
|
||||
## getStatus
|
||||
gets the current thread status
|
||||
|
||||
#### Returns:
|
||||
1. `string` current status - ("running", "normal", "suspended", "dead")
|
||||
|
||||
#### Usage:
|
||||
```lua
|
||||
local mainFrame = basalt.createFrame()
|
||||
local aThread = mainFrame:addThread()
|
||||
basalt.debug(aThread:getStatus())
|
||||
```
|
||||
Reference in New Issue
Block a user