2011-03-09 6 views
0

예약 된 작업에 cfthreads를 많이 사용하고 있습니다 (cf에서 메모리가 부족해지기 때문에 다음 오류가 발생합니다).작업 대기열에 도달했기 때문에 새 스레드를 만들 수 없습니다. 최대 한도 5000

Cannot create a new thread because the task queue has reached it maximum limit 5000.

그래서 여기 내 질문이 있습니다 :

  1. 정확하게 "작업 큐"는 무엇이며, 문서가 어디입니까?
  2. 어떻게이 한도를 늘리십니까?
  3. 어떻게 제한이 동적인지 결정할 수 있습니까? 대기열에 이미 몇 개의 스레드가 있습니까?

답변

1

다른 참여자의 질문에 대한 답변으로 제공된 실행 연결 관용어를 사용하지 않는 이유는 무엇입니까? many queries in a task to generate json? 이 코드 예제를 변경하여 여러 스레드를 작성한 다음 비동기로 작업하는 것이 필요한 경우 조인 할 수 있습니다. 또한 서버가 스레드간에 컨텍스트를 전환하는 데 너무 많은 시간을 소비하기 때문에 질문과 같이 많은 스레드를 갖는 것이 실제로 느린 작업을 설명합니다.

+0

좋은 점은, 나는 한 번에 50 개의 쓰레드를 실행하고 실행 한 후에 50 개의 쓰레드에 합류한다는 것입니다. 이것은 잘 작동하는 것 같습니다. – erikvold

0

제한 사항은 변경할 수없는 기본 제공 제한입니다.

위의 메시지는 오류 메시지이므로 cftrycfthread을 입력하면 한계에 도달했는지 확인할 수 있습니다.

관련 문제