Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 7 months ago.
Does Thread object always have to be global?
Hi,
I had a code like this:
int main() { StartThread(); while(1) { } } void StartThread() { Thread thread1; thread1.start(ThreadFunction); } void ThreadFunction() { while(1) { printf("MESSAGE"); } }
The above code does not work properly. I'd expect it to print "MESSAGE" in terminal infinietely.
When I modify it just a little bit, like this:
Thread thread1; int main() { StartThread(); while(1) { } } void StartThread() { thread1.start(ThreadFunction); } void ThreadFunction() { while(1) { printf("MESSAGE"); } }
it works as it should.
So, my question is, why does Thread object have to global? I'd rather create a new instance of Thread each time I call StartThread(). How to achieve that?