How to restart a Thread in C# .Net 4.0?

Started by
2 comments, last by Washu 12 years, 1 month ago
I'm using C# .Net4.0 in VS 2010.
How do I restart a Thread?
Its like I want to Abort() the thread and Start() it from the beginning again?
Is it possible?
Advertisement
No, this isn't possible, as far as I know. But what are you actually trying to do? There will be an alternative.
[TheUnbeliever]
I have a thread which is started when the user clicks the 'Start' button.
Actually this is implementing a server which initializes a socket and then loops the socket.Accept().
I want to allow the user to stop the server, thus closing the thread; and then restarting it any number of times.
Firstly, calling abort on a thread is generally a bad idea. If you want to do this correctly then you should be using beginaccept/endaccept. If you don't want to use the IOCP functionality in the .net framework then you should at least use select and only when something is available call accept. Then you can have the select in a short timeout and periodically check a boolean condition that will notify you when the thread should terminate.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

This topic is closed to new replies.

Advertisement