스레딩을 사용하여 성능을 최적화하고 싶습니다.루프 내에서 비동기 메서드 호출을 사용할 수 있습니까?
public delegate int DelegateGetMarkOfSubject(int subjectid, int studentid);
int TotalMark = 0;
public void GetTotalMark(int StudentId)
{
TotalMark = 0;
List<Subjects> lstSubj = GetSubjectList(StudentId);
Waithandle[] waitHandler = new waitHandler[10];
DelegateGetMarkOfSubject delmarkOfSubj = new DelegateGetMarkOfSubject(GetMark);
foreach(var subject in lstSubj)
{
IAsync result_subject.id = delmarkOfSubj.BeginInvoke(subject.id, StudentId, new AsyncCallBack(GetMarkComplete), null);
waitHandler.add(result_subject.id.AsyncHandle);
}
WaitHandle.WaitAll(waitHandler);
return TotalMark;
}
GetMarkComplete(Iasynch argument)
{
DelegateGetMarkOfSubject del = (DelegateGetMarkOfSubject)((Asynchresult ar)).AsynDelegate;
newMark = del.EndInvoke(argument)
if(LockingCondition)
{
//PutLock
TotalMark += newMark;
//Release Lock
}
}
나는 그 질문을 보지 못하고있다. – robrich
http://codereview.stackexchange.com/ –
.Net 5 ...에 딱 맞는 소리가납니다.()! –