Is it possible to access the return value of a function used in a thread? The below code works, but I like my functions to explicitly return values rather than abuse the "everything is global" feature of lua.
thread = require "thread"function foo()
bar =1return bar --How to access this?end
t = thread.create(foo)
thread.waitForAll({t})--Wait for thread to end before obtaining return value
print(bar)-- 1
Somewhat related, Right now I am using threads to achieve a non-blocking io.read(), so I can receive inputs while my timer events still run. Is this good practice or is there a better way to achieve non-blocking io.read() that I have missed.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Is it possible to access the return value of a function used in a thread? The below code works, but I like my functions to explicitly return values rather than abuse the "everything is global" feature of lua.
Somewhat related, Right now I am using threads to achieve a non-blocking io.read(), so I can receive inputs while my timer events still run. Is this good practice or is there a better way to achieve non-blocking io.read() that I have missed.
Thanks for your help and advice!
Link to post
Share on other sites