C 런타임 오류 R6016

스레드 데이터에 대한 공간이 부족합니다.

참고 항목

앱을 실행하는 동안 이 오류 메시지가 발생하면 내부 메모리 문제가 있어 앱이 종료되었습니다. 이 오류에는 여러 가지 가능한 이유가 있지만, 매우 낮은 메모리 조건, 앱의 버그 또는 앱에서 사용하는 추가 기능 또는 확장의 버그로 인해 발생하는 경우가 많습니다.

이 오류를 해결하려면 다음 단계를 시도할 수 있습니다.

  • 다른 실행 중인 애플리케이션을 닫거나 컴퓨터를 다시 시작하여 메모리를 확보합니다.
  • 제어판 앱 및 기능 또는 프로그램 및 기능 페이지를 사용하여 앱을 복구하거나 다시 설치합니다.
  • 제어판 앱 및 기능 또는 프로그램 및 기능 페이지를 사용하여 앱에서 사용하는 추가 기능 또는 확장을 제거, 복구 또는 다시 설치할 수 있습니다.
  • 소프트웨어 업데이트에 대한 제어판 Windows 업데이트 확인합니다.
  • 앱의 업데이트된 버전을 확인합니다. 문제가 지속되면 앱 공급업체에 문의하세요.

프로그래머에 대한 정보

이 오류는 프로그램이 운영 체제에서 _beginthread 또는 호출을 완료하기에 충분한 메모리를 받지 못했거나 스레드 로컬 스토리지가 초기화되었거나 _beginthreadex초기화 _beginthread 되지 않았기 때문에 발생 _beginthreadex 합니다.

새 스레드가 시작되면 라이브러리는 해당 스레드에 대한 내부 데이터베이스를 만들어야 합니다. 데이터베이스가 운영 체제에서 제공한 메모리를 사용하여 확장할 수 없으면 스레드가 시작되지 않으며 호출 프로세스는 중지됩니다. 프로세스에 의해 너무 많은 스레드가 만들어졌거나 스레드 로컬 스토리지를 모두 사용한 경우 이러한 현상이 발생할 수 있습니다.

CRT(C 런타임 라이브러리)를 호출하는 실행 파일은 Windows API CreateThread대신 스레드를 만드는 데 사용하는 _beginthreadex 것이 좋습니다. _beginthreadex는 스레드 로컬 스토리지의 많은 CRT 함수에 의해 사용되는 내부 정적 스토리지를 초기화합니다. CreateThread를 사용하여 스레드를 만드는 경우 초기화된 내부 정적 스토리지가 필요한 CRT 함수를 호출할 때 CRT는 R6016으로 프로세스를 종료할 수 있습니다.