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?
How to restart a Thread in C# .Net 4.0?
Started by Shashwat Rohilla, Mar 06 2012 04:37 AM
3 replies to this topic
Sponsor:
#3 Members - Reputation: 123
Posted 06 March 2012 - 10:42 PM
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.
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.
#4 Senior Moderators - Reputation: 3113
Posted 06 March 2012 - 11:32 PM
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.
ScapeCode - Blog | SlimDX






