Кажется, что Thread.Abort не генерирует исключение ThreadAbortException из-за AcceptSocket

я звонюChannelServer.ListeningThread.Abort в следующей теме, однако, похоже, ничего не происходит. Я хотел бы быть более конкретным, но я не могу думать ни о чем другом. Кажется, нетThreadAbortException это выбрасывается, и это исключение должно быть выброшено независимо от блокирующего прослушивателя (он отлично работает на потоках, которые получают блокировку).

Важное РЕДАКТИРОВАНИЕ: СManualResetEvent.WaitOne вместоAcceptSocket, как предложил Лирик для тестирования, работает отлично. Как такAcceptSocket блокируетThreadAbortException?

ССЫЛКА НА САЙТВ этой ветке форума обсуждается та же проблема, хотя я ничего не могу понять из этого:http://www.tek-tips.com/viewthread.cfm?qid=319436&page=413

ChannelServer.ListeningThread = new Thread(new ThreadStart(delegate()
{
    Log.Inform("Waiting for clients on thread {0}.", Thread.CurrentThread.ManagedThreadId);

    while (true)
    {
        try
        {
            new Thread(new ParameterizedThreadStart(ChannelClientHandler.Initialize)).Start(ChannelServer.Listener.AcceptSocket());
        }
        catch (ThreadAbortException)
        {
            Log.Inform("Aborted client listening thread {0}.", Thread.CurrentThread.ManagedThreadId);
            break;
        }
    }
}));
ChannelServer.ListeningThread.Start();

Ответы на вопрос(3)

Ваш ответ на вопрос