배열을 Action<string, int, double, double>
으로 정의하고 Parallel.Invoke()
을 사용하여 병렬로 실행하려고합니다. 액션을 매개 변수가없는 액션으로 캐스팅 할 수있는 방법이 있습니까? 그렇게 할 수 있습니까? 아니면 다른 방법이 있습니까?Parallel.Invoke를 사용하여 매개 변수가있는 메서드 실행
3
A
답변
5
이 작업을 시도 할 수 :
Parallel.Invoke(() =>
{
YourFirstAction(param1, param2, param3, param4);
}, // close first Action
() =>
{
YourSecondAction(param1, param2, param3, param4);
}//close second Action
); //close parallel.invoke
0
난 당신이 매개 변수 값을 전송하지 않고 그들을 실행 괜찮 있다면 작업이 매개 변수를 가질 이유에 혼란 스러워요. 아마 기본값으로 Parallel.ForEach을 사용하는 것이 가장 것 :
Action<string, int, double, double>[] actions;
// Action array, actions, set somewhere in code.
Parallel.ForEach(actions, action => action(string.Empty, 0, 0, 0));
는 다음 매개 변수를 보내 당신이 맞는 볼의 값을 대체합니다.
Parallel.Invoke : 초 길이 (20)의 배열에 대한
Parallel.For(0, actions.Length, index => actions[index] = (s, i, d1, d2) => Thread.Sleep(100));
Parallel.For(0, parameterless.Length, index => parameterless[index] =() => Thread.Sleep(100));
결과 :
나는 나의 시험에 대한 다음 작업을 사용 0.3000709Parallel.ForEach : 0.3022143
일반 루프 : 2.0000706
따라서 Parallel.Invoke는 성능에 약간 영향을 미치지 만 매개 변수가없는 매개 변수가없는 작업을 사용하는 이점이 있습니다.
단지 킥을 위해 Parallel.ForEach를 사용하여 매개 변수가없는 Action 배열을 테스트했는데 그 결과는 Parallel.Invoke와 거의 같았으며 결과는 0.300979 초였습니다.
+0
왜 이것을 downvoted입니까? 이것은 실제로 그의 문제에 대한 해답이 될 수 있습니다 ... –
관련 문제
- 1. 매개 변수가있는 EXE 실행
- 2. 다양한 매개 변수가있는 LINQ 메서드
- 3. 메서드의 매개 변수가있는 메서드 특성?
- 4. 메서드 서명의 매개 변수가있는 목록
- 5. 매개 변수가있는 대리자 메서드 호출
- 6. 프로세스를 사용하여 매개 변수가있는 일괄 처리 실행
- 7. PowerShell - 매개 변수가있는 MySQL 실행
- 8. 배열 매개 변수가있는 웹 서비스 및 메서드
- 9. 배열 매개 변수가있는 CXF 웹 서비스 메서드
- 10. 매개 변수가있는 WPF DataTemplate 메서드 바인딩
- 11. 변수 매개 변수가있는 Grails 동적 메서드 호출
- 12. 매개 변수가있는 T4MVC 및 Ajax 메서드
- 13. 인스턴스 메서드와 ref 매개 변수가있는 정적 메서드
- 14. 메서드 매개 변수가있는 강력한 입력 ArrayList
- 15. PHP에서 매개 변수가있는 python 스크립트 실행
- 16. 입력 매개 변수가있는 autokey 스크립트를 실행 중
- 17. VB.NET, 매크로로 매개 변수가있는 실행 파일 호출
- 18. Linux에서 매개 변수가있는 빌드 파일 실행
- 19. WiX에서 매개 변수가있는 실행 파일을 어떻게 실행합니까?
- 20. 오라클 - 매개 변수가있는 쿼리 실행 = PARSE_CALLS
- 21. 매개 변수가있는 백그라운드에서 PHP 코드 실행
- 22. 여러 매개 변수가있는 매개 변수가있는 SQL
- 23. PHP, 선택적 매개 변수가있는 ADO 개체 메서드 호출
- 24. 매개 변수가있는 메소드 모의
- 25. 추가 제네릭 형식 매개 변수가있는 제네릭 형식의 확장 메서드
- 26. 매개 변수가있는 프로세스 시작
- 27. 매개 변수가있는 Ember.js 라우팅
- 28. 매개 변수가있는 ActionLink?/
- 29. 매개 변수가있는 ExecuteNonQuery
- 30. 매개 변수가있는 Crystal Reports
언어 태그를 추가하는 것이 좋습니다. –