파이썬에서 내가 만든 스레드에 대한 참조를 가지고 있지 않을 때 나쁘다 : threading.Thread(target=worker_method)
? 가비지 콜렉터가 응용 프로그램의 안정성에 영향을주는 내용을 처리 할 수 있습니까?파이썬의 가비지 수집기가 내 애플리케이션에 해를 끼치고 있습니까?
답변
스레드는 관계없이 계속 실행되지만, 단점은 스레드와 통신하기 위해 더 이상 스레드에 대한 핸들이 없다는 것입니다.
간단한 테스트 스레드 객체가 범위를 벗어나 경우에도, 그 여전히 실행 보여줍니다 :
from threading import Thread
from time import sleep
def t_func():
print "Sleeping"
sleep(5)
print "Done Sleeping"
def test():
t = Thread(target=t_func)
t.start()
>>> test()
Sleeping
Done Sleeping
당신이 바로 그것을 시작한 후 t
스레드 개체를 삭제했다하더라도, 그것은 계속 실행됩니다. 그러나 실제로 시작한 스레드를 추적해야하며, 완료되었는지 또는 살아 있는지 모니터링해야합니다. 그리고 필요하다면 깨끗이 셧다.
참조가없는 것이 항상 단점은 아닙니다. 풀 스레드 인 경우 앱의 수명 동안 실행되고 대기열 또는 앱의 나머지 부분과 완전히 독립적으로 작동하는 스레드를 통해 통신하는 다른 스레드 클래스는 왜 참조를 유지합니까? –
@MartinJames : 네가 그렇습니다. 스레딩의 고급 응용 프로그램에서 뭔가 다른 것이 관리되고 있거나 통신 경로를 제공하고있는 상황이 있습니다. 내가 생각하기에 간단한 응용 프로그램에 대해 더 많은 것을 고수했다. – jdi
- 1. 왜 Ada에는 가비지 수집기가 있습니까?
- 2. D 가비지 수집기가 작동합니까?
- 3. Objective-C는 iPhone에 가비지 수집기가 있습니까?
- 4. C에는 Java와 같은 가비지 수집기가 있습니까?
- 5. 가비지 수집기가 작동하면 감지 할 수 있습니까?
- 6. 가비지 수집기가 호출되었는지 감지 (.Net)
- 7. 가비지 수집기가 객체를 가져올 수 있는지 확인하십시오.
- 8. 가비지 수집기가 인터페이스 작성기에서 개체를 삭제합니다.
- 9. 가비지 수집기가 몇 시간 후에 열세에
- 10. 모든 사용자에게 힘을주는 것은 요구 사항 관리 소프트웨어의 유용성에 해를 끼치고 있습니까?
- 11. 어떤 가비지 수집기가 사용 중인지 어떻게 알 수 있습니까?
- 12. 애니메이션으로 인해 가비지 수집기가 로그 항목을 만듭니다.
- 13. .net 가비지 수집기가 GC 힙을 압축하지 않습니다?
- 14. Java 가비지 수집기가 스택 메모리를 정리합니까?
- 15. 파이썬의 GIL은 가비지 컬렉터와 어떤 관련이 있습니까?
- 16. 가비지 수집기가 스트림을 닫을 것으로 예상 할 수 있습니까?
- 17. 가비지 수집기가 일부 스레드를 중지시키지 않도록 할 수 있습니까?
- 18. GC 로그를보고 가비지 수집기가 실행중인 것을 어떻게 확인할 수 있습니까?
- 19. 가비지 수집기가 다른 언어로 작성된 함수에 의해 "가비지"에 도달 할 수 있습니까?
- 20. 가비지 컬렉터가없는 JVM이 있습니까?
- 21. 응용 프로그램 런타임 중에 가비지 수집기가 실행되었는지 확인하는 방법은 무엇입니까?
- 22. 닷넷 메모리 처리, CLR 가비지 수집기가 다른 리소스를 처리합니까?
- 23. 가비지 수집기가 Java의 정적 변수 또는 메소드에서 작동합니까?
- 24. 세션이 유휴 상태가 아니어도 세션 가비지 수집기가 실행됩니까?
- 25. iPhone : 내 누설 앱이 다른 앱에 해를 끼칠 수 있습니까?
- 26. 콘텐츠 제공자는 내 애플리케이션에 포함되어 있습니까?
- 27. 내 애플리케이션에 메뉴 추가
- 28. 내 애플리케이션에 ActivityIndicator 추가
- 29. 내 애플리케이션에 GPS 통합
- 30. 내 애플리케이션에 어떤 기능을 포함시켜야합니까?
이 경우 GC가 피해를주지 않아야합니다. 오히려 당신의 디자인/코드입니다. –
실을 시작하십니까? –
스레드가 계속 실행되지만 더 이상 처리하지 않아도됩니다. 중지 하시겠습니까? – jdi