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

Problem with threads


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

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


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()?


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.

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.


  • Create New...

Important Information

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