문제

소형 프레임 워크 애플리케이션에서 쓰레기 수집가가 무조건적으로 하나 이상의 스레드를 멈추지 않거나 GC가 적어도 코드의 일부에서 수집하는 것을 막을 수 있습니까?

나는 그것이 실시간 우선 순위를 설정해야한다고 생각하지만, 그것을하는 것에 대한 많은 조언을 찾았습니다.

도움이 되었습니까?

해결책

GC는 모든 객체를 검사하기 위해 모든 스레드를 동결해야합니다. 일부 스레드가 실행 중이고 개체를 수정/생성하는 경우 어떻게 작업을 수행 할 수 있습니까?

더 낫습니다.

당신이 할 수있는 일은 중단되기를 원하지 않는 상태에 입력하기 전에 gc.collect () 및 gc.waitforpendingfinalizers ()를 호출하는 것입니다. 이것은 당신에게 약간의 시간을 줄 것입니다.

다른 팁

관리되지 않은 코드는 무부되지 않은 관리 객체에 액세스 할 수 없지만 쓰레기 수집 중에는 차단하지 않고 실행됩니다. 쓰레기 수집 중에 계속 실행 해야하는 특정 루틴이 있고 무모한 관리 객체에 액세스 할 필요가 없다면 해당 루틴을 관리하지 않는 코드로 작성할 수 있으며 GC는 영향을 미치지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top