Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A delegáltak lehetővé teszik, hogy egy szinkron metódust aszinkron módon hívjunk meg. Ha szinkron módon hív meg egy meghatalmazottat, a Invoke metódus közvetlenül az aktuális szálon hívja meg a célmetódust.
BeginInvoke A metódus meghívása esetén a közös nyelvi futtatókörnyezet (CLR) várólistára állítja a kérést, és azonnal visszatér a hívóhoz. A célmetódus aszinkron módon hívják meg egy szálon a szálhalmazból. A kérést beküldő eredeti szál a célmetódussal párhuzamosan folytathatja a végrehajtást. Ha a metódus hívásában meg van adva visszahívási BeginInvoke módszer, a visszahívási metódus a célmetódus végén lesz meghívva. A visszahívási metódusban a EndInvoke metódus beolvasja a visszatérési értéket, valamint minden bemeneti/kimeneti vagy csak kimeneti paramétert. Ha híváskor nincs megadva visszahívási módszer, akkor BeginInvoke a EndInvoke-t hívó szálról hívható meg.
Fontos
A fordítóknak delegált osztályokat kell kibocsátaniuk a felhasználó által megadott delegált aláírással és Invoke, BeginInvoke valamint EndInvoke metódusokkal. A BeginInvoke és EndInvoke metódusokat natívan kell díszíteni. Mivel ezek a metódusok natívként vannak megjelölve, a CLR automatikusan biztosítja a végrehajtást osztálybetöltéskor. A rakodó biztosítja, hogy ne legyenek felülírva.
Ebben a részben
Szinkron metódusok aszinkron meghívása
Ismerteti, hogy a delegáltak hogyan használhatják aszinkron hívásokat általános metódusok esetén, és egyszerű kód példákat tartalmaz, amelyek bemutatják az aszinkron hívások visszatérésére való várakozás négy módját.
Kapcsolódó szakaszok
eseményalapú aszinkron minta (EAP)
A .NET aszinkron programozását ismerteti.