I am currently figuring out how to synchronize the thread for each MAC with the main thread.The concept is simple. Have a shared hash or array where each thread can write to a scalar. Have a timer ;-) in the main thread loop thru the hash, and make logical descisions for you. You have 2 ways of sending messages back from child thread to master thread. One is shared variables, two is thru the fileno's on the open filhandles( which all threads share). You can open a filehandle in the mainthread to listen to with a fileevent method, then have the spawned threads write to that filehandle so that the mainthread can listen for synchronization data. Also remember to save the tid's ( thread ids) as you spawn them, so your parent thread can join them later, to destroy them. Just Another Hash Problem. ;-) See Reusable threads demo for enlightenment. P.S. Read the replies for a higher level of enlightenment. :-)
| [reply] |
Have a timer ;-) in the main thread loop thru the hash, and make logical descisions for you.
Simple. And wrong!
You're still trying to find a way to wield that lumphammer.
Creating artifical events (polling), is *NEVER* the right approach to solving the problem. Is just spins cycles and wastes resources.
| [reply] |
He will want multiple timers checking different things simulanaeously. Without that ability, he eventually will have deeply nested while loops, that clog up and can't be dynamic enough to change every 10 milliseconds. Deeply nested loops are like human insanity.... people claim they are perfectly sane in their unresponsive deeply nested state, whereas the worlds around them are constantly checking and updating their state, pitying the poor deeply nested while loop.... spinning there, stuck, because their code god did not make them with an eventloop, so that they could understand time. bwahaha
| [reply] |