Pokud to myslis pro NT, tak:
1. GetStdHandle pro stdin
2. udelat overlapped read na R/W co chces
3. WaitForMultipleObjects - pro [1] a [2]
Na [1] se daji aplikovat veskere wait funknce a prejdou do signalizovaneho stavu, jeslize se na vstupu objevy nova data...
Ms/Win moc rad nemam, ale zrovna co se tyce synchonizace, jim *nix v drtive vetsine pripadu nesaha ani po paty, bohuzel :( Pokud clovek nekde potrebuje trochu vyssi uroven synchonizace a nedejbuh vice atomickych operaci (ala SignalObjectAndWait, ...) tak .... si rovnou muze napsat kompletne vlastni sync, aby to bylo jaks-taks porable a fungovalo dle predstav :(
ad synchronizace ve Widlich:
nejak pozapominate na bezpecnost a stabilitu, tyto funkce nevlastni ani jedno...
V Linuxu je jiz od verze 2.4.cosi implementovano pomerne slusne AIO (patch).
Vite ja jsem clovek ryze prakticky...
proto mi prosim vysvetlete jaktoze i kdyz Widle maji tak skvele implementovany asynchroni rezim jsou tak neuveritelne pomale (ve srovnani s Linuxem)
Neuvěřitelně pomalé? Nevím, o kolik procent je Linux rychlejší a ne, že bych nějak miloval M$, ale na Windows NT 5.0 mi nikdo šahat nebude!-)
A jak je to s tou bezpečností a stabilitou u AIO by mě taky zajímalo. Myslíte, že takhle sestřelíte eNTýčka?
Já osobně považuju asychnonní IO za prasárnu a použil bych to jen po dotlačení okolnostmi. To raději budu důsledně používat vlákna (tedy na systémech, kde se "vlákna" nedělají přes odpudivé fork:-)
A ještě jeden detail. Jména wokenních syscallů jsou oproti těm unixovým mnohem čitelnější. Ne, že by mě to nějak trápilo, od toho hnusu dole se s radostí nechám odstínit nějakou tou Javou, Adou nebo .NETem. :-)
> Jména wokenních syscallů jsou oproti těm unixovým
> mnohem čitelnější.
To me tedy neprijde, a pochybuji ze jsou pro programatory pisatelnejsi. Vubec z celych Windows cisi laska k psani na klavesnici. Srovnejte si treba
/home/vopicka vs C:\Documents and Settings\František Vopička
/opt vs C:\Program Files
/etc vs HKEY_LOCAL_MACHINE
eth0 vs Local network connection (v ceskych je to tusim "Připojení k místní síti" vcetne diakritiky - vyborne kdyz to nekam potrebujete napsat pres telnet)
atd.
Synchronizacni funkce ve Win nejsou bezpecny? Mozna by sis o Win32 API mohl prvne neco precist, protoze ve Win maj synchronizacni handly (a jiny, jako treba procesy) ACL. Pokud programujes na Win32 nebezpecne tak jen protoze ses liny prase, ne proto ze by Win32 API nebylo bezpecny.
Samozrejme nemluvme o Win9x rade, ta je nastesti dneska uz historii (asi jako u Linuxu se uz dneska mluvi jen o 2.6 a 2.4 kernelech).
Internet Info Root.cz (www.root.cz)
Informace nejen ze světa Linuxu. ISSN 1212-8309
Copyright © 1998 – 2021 Internet Info, s.r.o. Všechna práva vyhrazena.