Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
  • 0
Gamingwelle

Problem with threads

Question

Hello, Im currently working on a programm to controll SGCrafts stargates.

Im trying to run multiple operations:

* Reading inputs from User

* check for an open connection (and send a redstone signal it it connected)

But its not working.

thread = require("thread")

function check()
	while(true) do
		-- Check and manage the signal
	end
end

function userInput()
	while(true) do
		-- Process inputs
	end
end

thread.create(check)
thread.create(userInput)

What is the Problem? When I start the first loop the other wont get started. (The same problem with coroutines)

So my Questions:

1) Is there any way to get this working?

2) (if not) is there any way to process code while waiting for an userinput via io.read()?

Thanks!

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Lua is single threaded. Meaning that only one chunck of code can ever run at a time. Coroutines are considered co-operative in that they yield to allow others to compute before they themselves finish. The idea is that we can do a little work we need right now and do it quickly, then yield so others can do the same, hence co-operative. Threads are fancy coroutines, but they are still limited to cooperation, so they must yield if you wish to begin another. Use term.read or io.read or os.sleep.... etc. 

Link to post
Share on other sites

Join the conversation

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.