Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
19 Cards in this Set
- Front
- Back
Delegacje
Jaką metodę kompilator domyślnie generuje, kiedy wywoływana jest delegacja. |
Invoke()
|
|
Delegacje
Jaka metoda umożliwia delegacji obsługę zdarzeń asynchronicznych. |
BeginInvoke()
|
|
Delegacje
Wywołanie BeginInvoke() jakich dwóch parametrów wymaga. |
- pierwszy to delegacja AsyncCallback - określająca metodę wywoływaną po zakończeniu działania metody asynchronicznej.
- drugi to wartość przekazywaną do delegacji po zakończeniu wykonywania metody. Jeśli wywołanie zwrotne nie jest potrzebne - to obie wartości należy ustawić na null. IAsyncResult result = msgDelegate.BeginInvoke("Wywołanie delegacji.", null, null); |
|
Delegacje
Ile zarejestrowanych metod mogą mieć delegacje asynchroniczne |
tylko jedną
|
|
Delegacje
Co zwraa metoda asynchroniczna BeginInvoke() |
Metoda asynchroniczna BeginInvoke() zwraca obiekt implementujący interfejs IAsyncResult
|
|
Delegacje
Do czego służy obiekt implementujący interfejs IAsyncResult (zwracany gdy wywołujemy metodę BeginInvoke) |
Obiekt implementujący interfejs IAsyncResult, który jest zwracany przez asynchroniczną metodę BeginInvoke() służy do pobierania danych wyjściowych wygenerowanych przez metodę asynchroniczną, a jego właściwość IsCompleted można użyć do kontroli stanu asynchronicznej operacji.
|
|
Delegacje
Przykład użycia wywołania zwrotnego, którą metoda asynchroniczna wywołuje po zakończeniu działania. |
private delegate void myDelegate(String msg);
myDelegate = d = new myDelegate(ShowMessage); d.BeginInvoke("OK", new AsyncCallback(myCallBack), null); metoda myCallback() jest uruchamiana w wątku z puli wątków, a nie w głównym wątku aplikacji - wpływa to na projekt interfejsu użytkownika aplikacji. |
|
Delegacje
W jakim wątku jest uruchamiana metoda wywołania zwrotnego (AsyncCallback), którą metoda asynchroniczna wywołuje po zakończeniu działania. |
Metoda ta jest uruchamiana w wątku z puli wątków, a nie w głównym wątku aplikacji - wpływa to na projekt interfejsu użytkownika aplikacji.
|
|
Delegacje
Do czego służy metoda EndInvoke() |
Jest wywoływana w celu pobrania wyników zwróconych przez metodę asynchroniczną.
|
|
Delegacje
W jaki sposób wywołać metodę EndInvoke() |
Metodę EndInvoke() wywołuje się przekazując do niej obiekt implementujący IAsyncResult - ten sam obiekt, który zwraca metoda BeginInvoke().
IAsyncResult result = GetStatus.BeginInvoke(null, null); //wykonuje potrzebne operacje a następnie pobiera zwróconą wartość int status = GetStatus.EndInvoke(result); |
|
Delegacje
Kiedy dodatkowo należy wywołać metodę EndInvoke(). O czym należy pamiętać. |
Metodę EndInvoke należy również wywołać, gdy asynchroniczna metoda nie zwraca wartości. Metoda EndInvoke pozwala wykryć wyjątki zgłoszone przez metodę asynchroniczną, a także informuje wspólne środowisko uruchomieniowe o konieczności uporządkowania zasobów użytych przy tworzeniu wywołania asynchronicznego.
|
|
Delegacje
Właściwość klasy AsyncResult: - AsyncState |
Obiekt przekazywany jako ostatni parametr metody BeginInvoke()
|
|
Delegacje
Właściwość klasy AsyncResult: - AsyncWaitHandle |
Zwraca obiekt typu WaitHandle służący do obsługi oczekiwania na dostęp do zasobów. O możliwości dostępu informuje "sygnał" ukończenia asynchronicznego zadania.
|
|
Delegacje
wymienić trzy metody obiektu AsyncWaitHandle i do czego służą. |
Metody tego obiektu (AsyncWaitHandle) pozwalają użyć różnych technik synchronizacji opartych na jednym lub wielu aktywnych wątkach.
Metody to: - WaitOne(), - WaitAny(), - WaitAll() |
|
Delegacje
Do czego służy metoda WaitOne() obiektu AsyncWaitHandle. |
Metoda WaitOne() blokuje obiekt do czasu otrzymania sygnału przez obiekt WatiHandle.
|
|
Delegacje
Do czego służy metoda WaitAny() obiektu AsyncWaitHandle. |
Metoda WaitAny() oczekuje na wysłanie sygnału przez dowolny wątek (statyczna).
|
|
Delegacje
Do czego służy metoda WaitAll() obiektu AsyncWaitHandle. |
Metoda WaitAll() oczekuje na wysłanie sygnału przez wszystkie wątki (statyczna).
|
|
Delegacje
Właściwość klasy AsyncResult: - AsyncDelegate |
Właściwość klasy AsyncResult - AsyncDelegate zwraca delegację używaną do obsługi asynchronicznych wywołań.
|
|
Delegacje
Właściwość klasy AsyncResult: - IsCompleted |
Właściwość klasy AsyncResult - IsCompleted jest wartością logiczną zwracającą stan asynchronicznego wywołania.
|