Silverlight/C#에서 렌더러를 만들었습니다. 현재 System.Threading.ThreadPool
을 사용하여 타일 렌더링을 병렬로 예약합니다. 지금은 잘 작동하지만 사용되는 스레드 수를 제한하고 싶습니다. 내가 ThreadPool.SetMaxThreads
를 호출 할 경우스레드 수가 최대 인 Silverlight 용 스레드 풀이 있습니까?
- 응용 프로그램이 as documented 충돌이 실버 라이트에서 실행되므로
은 제한이 몇있다. (차라리하지 않는 게 좋을)
- 내 자신의 스레드 풀을 구현 OSS/타사 스레드 풀을 찾기
- :
- 내가 몇 가지 옵션을 볼 수없는 작업 병렬 라이브러리
없다
어떤 테스트 다른 스레드가 있습니까 (나는 다른 장소에서 할)
아니면 제한된 수의 스레드를 생성하고 이들에 대기열 작업을하는 Rx 표현식을 제안 할 수 있습니까?
왜 스레드 수를 변경하려고합니까? 스레드 풀을 사용하려면 작업을 오랜 시간 실행하지 않아야합니다. 따라서 사실상 코어의 수를 고려하여 이미 효율적으로 설정되어 있어야합니다. wpf 응용 프로그램에서 코드를 시험해 보았고 설정 한 번호로 응용 프로그램이 더 효율적으로 작동하는지 확인 했습니까? –
WPF 응용 프로그램을 테스트하지 않았으므로 더 효율적이라고 확신하지 못합니다. 나는 이것이 더 효율적인지를보기 위해 이것을 시험해보고 싶다. 그리고 모든 동기화 문제를 디버깅하고 이해하기 위해 이것을 할 수 있기를 바란다. –
멀티 스레드 응용 프로그램을 디버그하기가 어렵고 프로그램이 중단 점에 도달하여 일시 정지하면 많은 동기화 문제가 발생하지 않을 것이라고 생각합니다.이 작업을 수행하려면 프로파일 러가 필요합니다. 보세요 [이] (http://stackoverflow.com/questions/2222826/profiling-net-thread-contention) –