Click here to Skip to main content
15,896,269 members
Home / Discussions / C#
   

C#

 
GeneralRe: resource leak in thread termination? Pin
Guffa22-Apr-08 7:25
Guffa22-Apr-08 7:25 
GeneralRe: resource leak in thread termination? Pin
George_George22-Apr-08 16:54
George_George22-Apr-08 16:54 
GeneralRe: resource leak in thread termination? Pin
Guffa27-Apr-08 5:28
Guffa27-Apr-08 5:28 
GeneralRe: resource leak in thread termination? Pin
George_George27-Apr-08 17:44
George_George27-Apr-08 17:44 
GeneralRe: resource leak in thread termination? Pin
Guffa27-Apr-08 23:51
Guffa27-Apr-08 23:51 
GeneralRe: resource leak in thread termination? Pin
George_George28-Apr-08 1:27
George_George28-Apr-08 1:27 
GeneralRe: resource leak in thread termination? Pin
Guffa28-Apr-08 2:00
Guffa28-Apr-08 2:00 
GeneralRe: resource leak in thread termination? Pin
George_George28-Apr-08 2:14
George_George28-Apr-08 2:14 
Thanks Guffa,


1.

Guffa wrote:
Yes, that would be the only way of catching an exception from outside the thread. However, I don't think that a ThreadAbortException exception will cause that event to be triggered, but I can't find any documentation right now that either confirms or contradicts this.


I have verified you are correct. Here is my code. Could you review whether my code is correct please?

using System;
using System.Threading;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {

        static void ThreadProc()
        {
            Console.WriteLine("Begin sleeping ");
            Thread.Sleep(5000);
            Console.WriteLine("End sleeping ");
        }
        
        static void Foo(object sender, UnhandledExceptionEventArgs e)
        {
            Console.WriteLine("I am here ");
        }

        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Foo);

            Thread t = new Thread(Program.ThreadProc);

            t.Start();

            t.Abort();

            return;

        }
    }
}


2.

Guffa wrote:
but if a background thread is aborted because the application is ending, the exception will not be thrown.


Confused. You mean the ThreadAbortException will not be re-throw if it is caught?


regards,
George
GeneralRe: resource leak in thread termination? Pin
Guffa28-Apr-08 3:18
Guffa28-Apr-08 3:18 
GeneralRe: resource leak in thread termination? Pin
George_George28-Apr-08 3:56
George_George28-Apr-08 3:56 
GeneralRe: resource leak in thread termination? Pin
Guffa28-Apr-08 14:31
Guffa28-Apr-08 14:31 
GeneralRe: resource leak in thread termination? Pin
George_George29-Apr-08 2:41
George_George29-Apr-08 2:41 
GeneralRe: resource leak in thread termination? Pin
Guffa29-Apr-08 8:37
Guffa29-Apr-08 8:37 
GeneralRe: resource leak in thread termination? Pin
George_George29-Apr-08 21:50
George_George29-Apr-08 21:50 
Generalstop a thread Pin
George_George21-Apr-08 23:49
George_George21-Apr-08 23:49 
GeneralRe: stop a thread Pin
Mircea Puiu22-Apr-08 1:12
Mircea Puiu22-Apr-08 1:12 
GeneralRe: stop a thread Pin
George_George22-Apr-08 1:14
George_George22-Apr-08 1:14 
GeneralRe: stop a thread Pin
Mircea Puiu22-Apr-08 1:42
Mircea Puiu22-Apr-08 1:42 
GeneralRe: stop a thread Pin
George_George22-Apr-08 2:53
George_George22-Apr-08 2:53 
GeneralRe: stop a thread Pin
Mircea Puiu22-Apr-08 5:04
Mircea Puiu22-Apr-08 5:04 
GeneralRe: stop a thread Pin
George_George22-Apr-08 16:25
George_George22-Apr-08 16:25 
GeneralRe: stop a thread Pin
Mircea Puiu23-Apr-08 20:52
Mircea Puiu23-Apr-08 20:52 
GeneralRe: stop a thread Pin
George_George23-Apr-08 21:00
George_George23-Apr-08 21:00 
GeneralRe: stop a thread Pin
Mircea Puiu24-Apr-08 20:43
Mircea Puiu24-Apr-08 20:43 
GeneralRe: stop a thread Pin
George_George24-Apr-08 21:34
George_George24-Apr-08 21:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.