# threads ** ## llib.thread ** 'takes a function which will be ran in a separate thread with a single parameter with thread info these have the same backend (and limitations) of network threads ```lua local thread = llib.thread(function(info) local N = 0 ... return N; end) ``` ### thread function parameters as used with "info" above #### info:send() 'takes "any" value send a value which can be retrieved from outside the thread with thread:next() ```lua info:send(5) info:send("hello") ``` #### info:pause() pauses the thread (must be resumed from outside) ### thread return object #### thread:await() 'optional timeout waits for the thread to return, and returns whatever it returned, if timeout is exceeded nil ```lua thread:await() -- value of N (above) ``` #### thread:next() gets the most oldest value sent using info:send() and pops it ```lua --(continued from above) thread:next() -- 5 thread:next() -- "hello" ``` #### thread:kill() kills the thread #### thread:pause() thread:resume() stops or continues the thread