Megosztás a következőn keresztül:


Eseményobjektumok (szinkronizálás)

Az eseményobjektum olyan szinkronizálási objektum, amelynek állapota explicit módon jelezhető a SetEvent függvény használatával. Az alábbiakban az eseményobjektumok két típusa található.

Tárgy Leírás
Manuális visszaállítási esemény Olyan eseményobjektum, amelynek állapota addig marad jelezve, amíg a ResetEvent függvény nem állítja vissza explicit módon. A jelzés közben tetszőleges számú várakozó szál vagy szál, amely ezt követően ugyanazt az eseményobjektumot adja meg az várakozási függvényekegyikében, felszabadítható.
Automatikus visszaállítási esemény Egy eseményobjektum, amelynek állapota egyetlen várakozási szál felszabadításáig marad jelezve, ekkor a rendszer automatikusan nem hozzárendelt állapotra állítja az állapotot. Ha nem várnak szálak, az eseményobjektum állapota továbbra is jelezve marad. Ha egynél több szál várakozik, a rendszer kiválaszt egy várakozó szálat. Ne feltételezze az első, első utáni (FIFO) sorrendet. A külső események, például a kernel módú API-k módosíthatják a várakozási sorrendet.

 

Az eseményobjektum akkor hasznos, ha jelet küld egy szálnak, amely azt jelzi, hogy egy adott esemény történt. Átfedésben lévő bemenetben és kimenetben például a rendszer egy megadott eseményobjektumot a jelzett állapotra állít be, amikor az átfedésben lévő művelet befejeződött. Egyetlen szál több egyidejű átfedésben lévő műveletben is megadhat különböző eseményobjektumokat, majd a több objektumból álló várakozási függvények egyikével várni az eseményobjektumok bármelyikének állapotát.

Egy szál a CreateEvent vagy CreateEventEx függvényt használja egy eseményobjektum létrehozásához. A létrehozási szál megadja az objektum kezdeti állapotát, valamint azt, hogy manuális alaphelyzetbe állítási vagy automatikus visszaállítási eseményobjektumról van-e szó. A létrehozási szál az eseményobjektum nevét is megadhatja. A más folyamatok szálai megnyithatnak egy leírót egy meglévő eseményobjektum számára úgy, hogy megadja a nevét az OpenEvent függvény hívásában. További információ a mutex-, esemény-, szemaphore- és időzítőobjektumok nevéről: folyamatközi szinkronizálási.

Eseményobjektumok használata