RE: Unable to Abort a listening thread
From: Dan Kelley (DanKelley_at_discussions.microsoft.com)
Date: 01/20/05
- Next message: Ed West: "Re: Win Form Datagrid & NullReferenceObject & Threads"
- Previous message: Ola: "Re: Proper use of inner exceptions"
- In reply to: MuZZy: "Unable to Abort a listening thread"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 20 Jan 2005 01:31:07 -0800
Check out this site: http://www.yoda.arachsys.com/csharp/threads/shutdown.shtml
There are some excellent articles in there on threading best practices.
HTH
Dan
"MuZZy" wrote:
> HI,
>
> As i posted below i have an app with a separate thread listening for a tcp client connection.
> In the simplest way it looks like:
>
> void ListenerThreadFunction()
> {
> TcpListener l = new TcpListener(IpAddress.Parse("127.0.0.1"), 8080);
> l.Start();
> Socket client = l.AcceptSocket();
> client.close;
> l.Stop();
> }
>
> This function is invoked from Form1_Load event of the main form:
>
> Thread MyThread = null;
>
> void Form1_Load(...)
> {
> ...
> MyThread = new Thread(new ThreadStarter(ListenerThreadFunction));
> MyThread.Start();
> }
>
> Now, i'm trying to stop the thread if the app is closing:
>
> void Form1_Closing(...)
> {
> ...
> if ((MyThread!=null) && MyThread.isAlive)
> MyThread.Abort();
> }
>
> But it doesn't work - though main form is closed, i still see that the app proccess is alive in IDE.
> MSDN says that Abort throws an exception to the thread, but it never gets there...
>
> All of described happens of course if server didn't get a connection and the thread is alive.
>
> I'm not that good with threads and think that i misuse the concept somehow...
> Any suggestions would be highly appreciated!!!
>
> Thank you in advance!
> Andrey
>
- Next message: Ed West: "Re: Win Form Datagrid & NullReferenceObject & Threads"
- Previous message: Ola: "Re: Proper use of inner exceptions"
- In reply to: MuZZy: "Unable to Abort a listening thread"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|