www.wikidata.uk-ua.nina.az
Podiya ob yekt podiyi event object v operacijnij sistemi Windows ob yekt dlya sinhronizaciyi vikonannya procesiv potokiv yakij mozhe znahoditisya u dvoh stanah signalnomu ta nesignalnomu 1 Zastosunki prikladni programi mozhut vikoristovuvati ob yekti podij u riznih situaciyah shob povidomiti potik pro viniknennya potribnoyi podiyi V zagalnomu vipadku ob yekti podij vikoristovuyut dlya signalizaciyi ochikuyuchim potokam pro dosyagnennya pevnih umov vikonannya programi Zmist 1 Vidi ob yektiv podij 2 Robota z podiyami 3 Priklad vikoristannya ob yekta podiyi 4 Dzherela 5 Divis takozhVidi ob yektiv podij red Buvayut podiyi ruchnogo skidannya manual reset ta avtomatichnogo skidannya auto reset Podiya ruchnogo skidannya buduchi signalnoyu zalishayetsya takoyu doki ne bude vimknena programno viklikom funkciyi API ResetEvent Podiyi avtomatichnogo skidannya peremikayutsya u nesignalnij stan sistemoyu koli odin iz ochikuyuchih potokiv zakinchit robotu 1 Robota z podiyami red Dlya stvorennya podiyi vikoristovuyetsya funkciya API CreateEvent Yiyi opis movoyu C 2 HANDLE WINAPI CreateEvent in opt LPSECURITY ATTRIBUTES lpEventAttributes in BOOL bManualReset in BOOL bInitialState in opt LPCTSTR lpName Opis movoyu Delphi 3 function CreateEvent lpEventAttributes PSecurityAttributes Atributi sekretnosti bManualReset Zadaye vid podiyi ruchna true chi avtomatichna false bInitialState BOOL Zadaye pochatk stan Yaksho true signalnij lpName PChar Nazva abo nil yaksho ne potribno THandle Funkciya povertaye deskriptor stvorenogo ob yekta abo nul u vipadku nevdachi Yaksho ob yekt podiyi iz zadanoyu nazvoyu vzhe isnuye to povertayetsya jogo deskriptor Pri comu ignoruyutsya parametri bManualReset ta bInitialState a funkciya GetLastError poverne znachennya ERROR ALREADY EXISTS Im ya podiyi ne povinno zbigatisya z imenami isnuyuchih ob yektiv tipu Semaphore Mutex Job Waitable Timer abo File Mapping Yaksho vidomo sho podiya vzhe isnuye yiyi deskriptor mozhna otrimati funkciyeyu OpenEvent Opis na C 4 HANDLE WINAPI OpenEvent in DWORD dwDesiredAccess in BOOL bInheritHandle in LPCTSTR lpName Opis movoyu Delphi 3 function OpenEvent dwDesiredAccess DWORD Zadaye prava dostupu do ob yekta bInheritHandle BOOL Vkazuye chi mozhe ob yekt uspadkovuvatisya dochirnimi procesami lpName PChar Im ya ob yekta THandle Funkciya povertaye deskriptor ob yekta abo nul u vipadku pomilki Parametr dwDesiredAccess mozhe nabuvati odne z takih znachen EVENT ALL ACCESS programa otrimuye povnij dostup do ob yekta EVENT MODIFY STATE programa mozhe zminyuvati stan ob yekta funkciyami SetEvent i ResetEvent SYNCHRONIZE mozhna vikoristovuvati ob yekt podiyi u funkciyah sinhronizaciyi Pislya otrimannya deskriptora podiyi jogo mozhna vikoristovuvati Dlya cogo Windows API nadaye taki funkciyi SetEvent ResetEvent ta PulseEvent Funkciya SetEvent vstanovlyuye ob yekt u signalnij stan BOOL WINAPI SetEvent in HANDLE hEvent Opis movoyu C function SetEvent hEvent THandle BOOL Opis movoyu Delphi Funkciya ResetEvent skidaye ob yekt vstanovlyuyuchi jogo v nesignalnij stan BOOL WINAPI ResetEvent in HANDLE hEvent Opis movoyu C function ResetEvent hEvent THandle BOOL Opis movoyu Delphi Funkciya PulseEvent vstanovlyuye ob yekt u signalnij stan dozvolyaye vidpracyuvati vsim funkciyam sinhronizaciyi yaki jogo ochikuyut a potim znovu skidaye ob yekt podiyi BOOL WINAPI PulseEvent in HANDLE hEvent Opis movoyu C function PulseEvent hEvent THandle BOOL Opis movoyu DelphiPriklad vikoristannya ob yekta podiyi red Vkazanij priklad demonstruye yak za dopomogoyu sistemnogo ob yekta podiyi programa mozhe otrimuvati povidomlennya pro zmini u pevnomu pidrozdili tekst programi movoyu Delphi reyestru Windows 3 function ThreadFunc Ptr Pointer LongInt var evnt THandle RK HKey S string begin evnt CreateEvent nil false false nil RegOpenKeyEx HKEY CURRENT USER Software IC RegDemo 0 KEY READ RK RegNotifyChangeKeyValue RK true REG NOTIFY CHANGE LAST SET evnt true if WaitForSingleObject evnt INFINITE WAIT OBJECT 0 then begin S TimeToStr Time U reyestr vneseno zmini MessageBox hWindow PWideChar S Ooo MB ICONINFORMATION end RegCloseKey RK CloseHandle evnt end Spochatku viklikom funkciyi CreateEvent stvoryuyetsya ob yekt podiyi avtomatichnogo skidannya deskriptor yakogo zberigayetsya u zminnij evnt Pislya cogo vidkrivayetsya potribna gilka reyestru ta za dopomogoyu funkciyi RegNotifyChangeKeyValue zdijsnyuyetsya pidpiska na otrimannya povidomlen pro zmini u reyestri Takim chinom RegNotifyChangeKeyValue pov yazuye zmini u reyestri z ob yektom podiyi evnt Pislya cogo za dopomogoyu funkciyi WaitForSingleObject zdijsnyuyetsya neskinchenne ochikuvannya na perehid ob yekta evnt u signalnij stan Yaksho u vkazanu gilku reyestru Software IC RegDemo vneseno zmini to nash potik otrimaye vidpovidnij signal i programa vidast vidpovidne povidomlennya za dopomogoyu funkciyi MessageBox Dzherela red a b MSDN Event Objects Arhivovano 15 zhovtnya 2012 u Wayback Machine MSDN CreateEvent function Arhivovano 22 chervnya 2012 u Wayback Machine a b v Konovalenko I V Fedoriv P S Sistemne programuvannya u Windows z prikladami na Delphi T TNTU 2012 Arhivovano 8 grudnya 2012 u Wayback Machine MSDN OpenEventfunction Arhivovano 18 kvitnya 2012 u Wayback Machine Divis takozh red Bagatonitevist Nit Sinhronizaciya procesiv Kritichna sekciya M yuteks F yuteks shvidkij koristuvackij m yuteksCya stattya ne maye interviki posilan Vi mozhete dopomogti proyektu znajshovshi 1 ta dodavshi yih do vidpovidnogo elementu Vikidanih Podiya Windows u Google Otrimano z https uk wikipedia org w index php title Podiya Windows amp oldid 34945550