вопрос про асинхнонность с BrainBench
От: Аноним  
Дата: 03.12.06 17:34
Оценка:
public delegate void ActionStart(object someAction); 
public void ActionCallback(IAsyncResult iar) {} 

public void DoAction(object action) { 
 // do some long action 
} 

public void DoActionAsync(object action) { 
 ActionStart myAction = new ActionStart(DoAction); 
 AsyncCallback myCallback = new AsyncCallback(ActionCallback); 
 // "call do action" 
 (CODE HERE) 
}


What lines of code, at the location (CODE HERE) above, call DoAction asynchronously and then block until it was finished?

Choice 1   
 IAsyncResult iar = myAction.BeginInvoke(action, myCallback, null);
myAction.EndInvoke(iar);  
Choice 2   
 myAction.BeginInvoke(action, null, null);
myAction.WaitOne();  
Choice 3   
 myAction.BeginInvoke(action, null, null);
myAction.EndInvoke();  
Choice 4   
 myAction.BeginInvoke();  
Choice 5   
 IAsyncResult iar = myAction.BeginInvoke(action, null, null);
myAction.EndInvoke(iar);


задаю вопрос потому что меня этот вопрос загнал в тупик
по-моему 1 и 5 вариант ничем не отличаются...
точнее отличаются но обы выполнят условия поставленной задачи
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.