[so] CreateIOCompletionPort && GetQueuedCompletionStatus

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sat Jun 7 23:45:32 EEST 2008


On Sat, 2008-06-07 at 17:00 +0300, Bercea Gabriel wrote:
<snip>
> Inteleg asincron, asincron it is. Sunt einspe metode de a face asta. De 
> ce se impune tocmai asta ? Daca ce am zis mai sus era scris doar ca o 
> sugestie si se doreste difersitate in implementare, atunci postul meu nu 
> isi are rostul :)

Cat timp totul e asincron, e OK. Dar trebuie tinut cont de precizarea
"mecanismul cel mai scalabil oferit de sistemul de operare".

Asta inseamna ca mecanismul ales de tine nu trebuie sa duca la crearea a
sute de thread-uri sau la folosirea ineficienta a resurselor sistemului.
Personal, nu stiu un mecanism mai scalabil si mai uniform decat
CompletionPorts (pana sa apara eventfd, that is). Totusi, orice solutie
gasesti, cat timp este o implementare asincrona, scalabila si eficienta
este OK. Si atunci poti folosi acele functii pe post de dummy functions
ca sa treaca testul.

Motivatia acelui test este ca sa impiedice oamenii sa foloseasca _doar_
apeluri sincrone (lucru care s-a si intamplat de cateva ori). Daca vor
vedea ca le pica un test e bine sa se gandeasca de ce nu au apelat
CreateIoCompletionPort in cazul unei teme de operatii I/O asincrone.

Razvan


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the so mailing list