Thread.Abort()によってスレッドが取り消されると、ThreadAbortExceptionがThread.Abortが呼び出されたときにスローされます。これにより、スレッドは直ちに作業を停止し、例外はスレッドのメインメソッドを終了するまで呼び出しスタックをバブルアップします。これにより、スレッドがアボートされます。Thread.ResetAbortのメリット
ThreadAbortExceptionに対するThreadAbortExceptionのメリットは、Thread.ResetAbort()が呼び出されたスレッドのメインメソッドで、スレッドがメインメソッドを踏み出したためにcatchブロックの後で終了するときのメリットは何ですか?
private void ThreadMainMethod()
{
try
{
while(runningAllowed = true)
{
//Do some work here
}
}
catch (ThreadAbortException)
{
Thread.ResetAbort();
}
}
これはまさに私がそれを意味するものです。私はちょうど上記の文が全面的に使用されているコードを見ているので、いくつかの説明をしたかっただけです。 – PVitt
ここでは、それが使用される良い場所です:https://stackoverflow.com/questions/299198/implement-c-sharp-generic-timeout/299273#299273 – TheSoftwareJedi