LongRunning 옵션을 사용하여 작업을 만들면 ThreadPool을 사용하지 않아 부작용이 발생합니다.작업 LongRunning 부작용?
답변
예합니다. 부작용은 다음과 같습니다. 백만 개의 작업이 있으면 백만 개의 스레드가 생성 될 수 있습니다.
각 스레드 오버 헤드 스위칭 오버 헤드 및 상황을 그 메모리를 가져올 것이다 고려해야 할 필요가있다. 메모리 오버 헤드가 작지 않습니다. 우리는 몇 메가 바이트입니다. 그래서 수천 개의 항목이 있어도 문제가 발생할 수 있습니다.
LongRunning 작업은 글로벌 및 로컬 대기열이 무시되어 다른 대기열을 막지 않도록 지정합니다 스레드가 로컬 큐에서 처리됩니다.
즉, 이러한 장기 실행 작업이 많으면 일반적인 것보다 많은 스레드가 생성 될 수 있습니다.
당신은이 질문에 대한 답변에서 단점 중 일부를 볼 수 있습니다
조금 더 명확하게 업데이트되었습니다. (MSDN이 말하는 것보다 더 많이 인라인됩니다) – Holger
LongRunning
옵션은 (그것의 경우 스레드 풀은 가능성이 가장 높은 것입니다 DefaultScheduler
을 백업)이 비 스레드 풀 스레드에서 Task
을 실행하도록 선택할 수 있습니다 의미 스케줄러에 대한 힌트입니다. LongRunning
옵션의 부작용 중 하나는 해당 작업에 대해 작업 인라이닝이 허용되지 않는다는 것입니다. 즉, LongRunning
작업이 다른 중첩 또는 하위 작업을 만들고 해당 작업에서 Wait
을 호출하면 인라인되지 않고 다른 스레드에서 항상 실행됩니다 (즉, Wait
을 수행하는 동일한 스레드에서 실행 됨). 그것은 시간이 오래 걸릴 작업의 큰 숫자를 생성하는 것은 LongRunning
힌트가 여전히 스레드의 수가 에스컬레이션을 일으킬 수 없이 완료 할 것을 언급하는 것은 가치가 다른 사람의 답변의 맥락에서
DefaultScheduler
이 사용하는 주입 알고리즘. 알고리즘은 차단 된 풀의 스레드와 오랫동안 작업 항목을 실행 한 스레드를 구분하지 않으며 두 경우 모두 작업 처리량을 높이기 위해 더 많은 스레드를 풀에 주입하여 응답 할 수 있습니다.
Reflectoring은 .NET 4.0 이후로, 항상 복종한다. – usr
- 1. 모범 사례 LongRunning 작업 생성
- 2. 작업 병렬 라이브러리 - LongRunning 작업 대 여러 개의 연속 작업
- 3. Hadoop 작업 부작용 파일 예제
- 4. 부작용
- 5. 부작용 Mocking
- 6. BX 부작용?
- 7. LD_LIBRARY_PATH 부작용
- 8. ipv6 이전의 부작용
- 9. 루트 액세스 부작용
- 10. 가비지 수집의 부작용?
- 11. zsh echo의 부작용?
- 12. 파이썬에서 부작용 강화하기
- 13. 아이폰 앱의 부작용
- 14. 빌드 목표 부작용
- 15. 기능 프로그래밍 : 부작용
- 16. typeof() 표현식 내 부작용
- 17. 함수 인수의 부작용
- 18. multi_schema 및 부작용 문제
- 19. C++ 표준 : : 변환 부작용
- 20. URL 및 부작용 (Django)
- 21. ereg_replace와 그 대체 방법의 부작용
- 22. ASP.NET에서 HtmlHelpers의 예기치 않은 부작용
- 23. 피연산자 평가 순서 + 할당 부작용
- 24. ASP.net에서 부작용 새로 고침/다시로드?
- 25. ASMX 웹 서비스에서 스레딩의 부작용
- 26. 위치 노드 '{순위 = 같은 ...}`부작용
- 27. UILabel 애니메이션 크기 조정 부작용
- 28. SQL 프로파일 러에서 경보를 설정하고 longrunning 쿼리를 종료하는 방법
- 29. "부작용"이있는 include()/require()가 나쁜 습관입니까?
- 30. 연산자에서 '->'를 사용하는 이상한 부작용
http://stackoverflow.com/questions/3105988/task-parallel-library-taskcreationoptions-longrunning-option-and-threadpool 브라우저에 질문 제목을 입력하면 자동 완성 작업이 수행됩니까? :) –
나는 그것을 발견했다! http://msdn.microsoft.com/en-us/library/dd997402.aspx – Aliostad