관리되지 않는 C++ dll을 사용하는 .NET Windows 서비스를 구축하고 있습니다. 내 서비스와 C++ dll 모두 멀티 스레딩을 사용하고 있습니다. 처리하는 동안 약간의 시간 (시간)이 지나면 메모리가 부족합니다. 나는 를 "성능 카운터"를 사용하여 스레드의 수를 측정하기 위해 노력하고 나는 다음과 같은 값을 모니터링합니다현재 스레드의 성능 카운터
# of current logical Threads
# of current recognized threads
# of total recognized Threads
을 첫 번째가 안정하고 그 값이 2와 3이 아닌 합리적인된다. 그들은 항상 성장하고 있으며 거대한 숫자 (1500 이상)에 이릅니다. 그리고 그들은 동등한 !!!!
동등해야합니까? 또한 해당 카운터가 관리되는 스레드와 관리되지 않는 스레드를 모두 계산하는 경우 this page에서 이해하지 못했습니다.
관리되지 않는 코드가 새 스레드를 재사용하는 대신 항상 시작한다고 생각하지만 확실하지 않습니다.
아무도 도와 줄 수 있습니까? 감사합니다.
그래, dll은 재사용 중이 아니거나 사용 된 스레드를 처리하지 않은 것처럼 들린다. –