C# .Net 4에는 backgroundworker_dowork()
이벤트가 있는데이 메서드는 세 가지 메서드를 호출하며 이들을 동기식으로 실행하려고합니다.BackgroundWorker에서 순차적 실행을 강제하는 방법
는 방법 (3) 방법이 후 실행해야 내 제약을 감안할 때, 및 방법이 비동기 적으로 실행되는 BackgroundWorker
모두 세 가지 방법으로, 1
그러나 방법 후 실행해야합니다.
어떻게 변경할 수 있습니까? SafeInvoke()
이후
private void bgwLoading_DoWork(object sender, DoWorkEventArgs e)
{
ArrayList a = (ArrayList)e.Argument;
string[] fileNames = (string[])a[0];
bool isLoad = (bool)a[1];
this.loadMultiImages(fileNames, isLoad);
}
private void loadMultiImages(string[] fileNames, bool isLoad)
{
// I want to execute the following codes sequentially.
Bitmap newBtmap = saveJpeg();
this.SafeInvoke(d => d.imageList.Images.Add(newBtmap));
}
그것은 I 원하는 실행의 흐름을 변경하는 일 saveJpeg()
전에 실행 시작 saveJpeg()
보다 시간이 덜 걸린다.
매우 오도 된 제목입니다. 스레드 우선 순위는 완전히 다른 개념입니다. – Tudor
동기 실행을 원하면 왜 비동기 실행을 사용합니까? –
saveJpeg에서 "완료"하지 않고 SafeInvoke를 호출하도록 반환하는 이유는 무엇입니까? –