디자인 모드 --- 병렬 순환 (2 - 1)
3622 단어 디자인 모드
C \ # 에서 순서 for 순환 일반
int n=......;
for(int i=0;i<n;i++)
{
//................
}
다 핵 을 이용 하기 위해 서 는 Parellel. For 를 호출 하여 순환 체 를 lambda 표현 식 으로 변환 할 수 있 습 니 다.
int n=........;
Parellel.For(0,n,i=>{
//...........
})
Parellel.For ( 300 )
다음은 예 입 니 다. Parellel. For 의 방법 으로 설명 하 겠 습 니 다.
Parallel.For(int fromInclusive,
int toexclusive,
Action<int> body)
앞의 두 매개 변 수 는 교체 제한 첫 번 째 매개 변 수 는 최소 색인 (최소 값) 이 고 두 번 째 는 상한 (최대 값) 입 니 다. 세 번 째 매개 변 수 는 매번 교체 할 때마다 한 번 씩 호출 하 는 작업 입 니 다. 이 조작 은 교체 색인 을 매개 변수 로 하고 모든 색인 에 대해 순환 체 를 따라 한 번 실 행 됩 니 다.세 번 째 매개 변 수 는 의뢰, 익명 방법 또는 일반 명명 방법 일 수도 있다.
2, 병렬 ForEach 순환
C \ # 중 순서 foreach 의 쓰기 도 살 펴 보 겠 습 니 다.
IEnumerable<MyObject> myEnumerable=...;
foreach(var obj in myEnumerable)
{
//...........
}
다 핵 기술 을 이용 하려 면 Parallel. ForEach 방법 으로 순서 foreach 를 교체 해 야 합 니 다.
IEnumerable<myobj> myeum=..........;
Parallel.ForEach(myeum,obj=>{
//........
});
이 순환 은 순 서 를 보장 하지 않 는 다.
3. 병렬 LINQ
linq 에 Plinq 가 포함 되 어 있 습 니 다. (PLINQ 는 병렬 프로 그래 밍 모드 입 니 다.)
IEnumerable<myobj> soure=..............;
//LINQ
var query1=from i in soure select Normalize(i);
//PLINQ
var query2=form i in soure.AsParallel();
select Nomalize(i);
위 에 매 거 진 대상 2 개 를 만 듭 니 다.
입력 값 을 되 돌려 주지 않 고 모든 입력 값 을 옮 겨 다 닐 때 도 PLINQ 의 ForAll 을 사용 할 수 있 습 니 다.
IEnumerable<myobj> myenum=........;
myrnum.AsParallel().ForAll(obj=>DoWork(obj));
이곳 의 ForAll 확장 방법 은 Plinq 의 parallel. Foreach 방법 과 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.