제목을 읽으면 Thread.Abort()가 실제로 중단되지 않습니다. 나는 많은 사람들이 위험한 명령을 내리고 결코 일할 것을 보장하지 않는다고 들었다. 그러나 실제적으로 그렇게 재현 할 수는 없었다. 항상 언제 Thread.Abort()가 실제로 중단되지 않습니까?
인가 .. 나를 위해 Thread.Abort()가 일관되게을 을 실패 할 수있는 특정 상황이 일이야?답변
the documentation을 읽으셨습니까?
스레드가 즉시 중단되거나 전혀 중단되지 않을 수도 있습니다. 이 상황은 스레드가 abort 프로 시저의 일부로 호출되는 finally 블록에서 무제한의 계산을 수행하여 중단을 무기한 지연하면 발생할 수 있습니다. 스레드가 중단 될 때까지 대기하려면 Abort 메서드를 호출 한 후 스레드에서 Join 메서드를 호출 할 수 있지만 대기가 끝날 것이라고 보장 할 수는 없습니다. 시작이 호출 될 때 중단이 시작되지 않은 스레드에서 호출하는 경우
...는 스레드가 중단됩니다. 차단되었거나 잠자기 상태 인 스레드에서 Abort가 호출되면 스레드가 인터럽트 된 다음 중단됩니다.
일시 중단 된 스레드에서 Abort가 호출되면 Abort를 호출 한 스레드에서 ThreadStateException이 발생하고 AbortRequested가 중단 될 스레드의 ThreadState 속성에 추가됩니다. Resume가 불려 갈 때까지, 중단 된 thread로 ThreadAbortException는 Throw되지 않습니다.
관리되지 않는 코드를 실행하는 동안 관리되는 스레드에서 Abort가 호출되면 스레드가 관리되는 코드로 반환 될 때까지 ThreadAbortException이 throw되지 않습니다.
두 호출이 동시에 중단되면 한 호출이 상태 정보를 설정하고 다른 호출이 중단을 실행할 수 있습니다. 그러나 응용 프로그램은이 상황을 감지 할 수 없습니다.
스레드에서 중단이 호출 된 후 스레드 상태에는 AbortRequested가 포함됩니다. Abort를 성공적으로 호출 한 결과로 스레드가 종료 된 후 스레드의 상태가 Stopped로 변경됩니다. 충분한 권한이 있으면 Abort의 대상인 스레드가 ResetAbort 메서드를 사용하여 중단을 취소 할 수 있습니다. ResetAbort 메서드를 호출하는 예제는 ThreadAbortException 클래스를 참조하십시오.
- 1. msvc2010에서 lvalue로 이동/중단되지 않습니까?
- 2. savedInstanceState는 실제로 언제 사용됩니까?
- 3. 페이지가 실제로 존재할 때 언제 404가 표시됩니까?
- 4. 언제 '안'으로되어 있지 않습니까?
- 5. ExecuteCodeWithGuaranteedCleanup은 언제 실제로 정리를 보장합니까?
- 6. Unity InjectionConstructor는 언제 실제로 실행됩니까?
- 7. 형식은 Common Lisp에서 언제 실제로 인쇄됩니까?
- 8. 언제 typedef가 필요하지 않습니까?
- 9. HTTP 청크 : 모든 청크가 연속적으로 전송되고 중단되지 않습니까?
- 10. 언제 autorelease가 Cocoa Touch에서 실제로 릴리스를 유발합니까?
- 11. ADO.NET으로 작성된 db 트랜잭션은 실제로 언제 시작됩니까?
- 12. 언제 Sharepoint List ItemDeleting 이벤트가 실제로 실행됩니까?
- 13. Spring + Tomcat은 언제 강력하지 않습니까?
- 14. 참조 무결성은 언제 적절하지 않습니까?
- 15. 루프가 중단되지 않습니다.
- 16. 시간 초과 패턴 - Thread.Abort가 얼마나 나빴습니까?
- 17. NameValueCollection은 IEqualityComparer로 실제로 아무 것도하지 않습니까?
- 18. Hibernate의 generator 클래스가 실제로 작동하지 않습니까?
- 19. JavaScript : 함수를 순차적으로 실행해야하는데 실제로 그렇게하지는 않습니까?
- 20. Windows 서비스의 타이머 - 실제로 작동하지 않습니까?
- 21. 포인터는 실제로 객체 자체를 가리키고 있지 않습니까?
- 22. Spring은 실제로 인터페이스 주입을 전혀 지원하지 않습니까?
- 23. 스레드가 실제로 WTK 에뮬레이터에서 가비지 수집되지 않습니까?
- 24. Socket.Close가 실제로 TCP 소켓을 닫지 않습니까? (C#)
- 25. CSS의 중요한 선언은 언제 작동하지 않습니까?
- 26. HTTP 호스트 헤더가 언제 정의되지 않습니까?
- 27. dijit.byId 본문에 준비되지 않았습니다. 실제로 dijits는 언제 사용할 수 있습니까?
- 28. 사전 계산은 언제 TMP를 사용하여 실제로 유용하게 사용할 수 있습니까?
- 29. 제출 된 django 폼은 실제로 언제 데이터베이스에 저장됩니까?
- 30. 컴파일시 const 값 참조 - 언제 const 정의가 실제로 사용 가능합니까?
감사합니다. 나는 대답을 위해 구글을했지만 검색 결과에서 문서를 찾지 못했을 것입니다. 아마도 미래에는 msdn을 더 자세히 조사 할 것입니다. – caesay
는 그렇게 간단하게 검색하는 것을 생각하지 않았습니다. – caesay
@ ta.speot.is 더 많은 upvotes가 없다는 것은 수치스러운 일입니다. Thread.Abort에 대한 최고의 답변입니다. :) – ipavlu