Nebenläufige Entwurfsmuster
Proactor
Witz
Asynchrone Operationen kosten weniger als die Threadkoordinierung.
(Im Prinzip macht die Koordinierung der Betriebssystemkern, der seinerseits
die nebenläufigen Geräte verwaltet.)
Proactor hängt zusammen mit Async_IO.
Bei Asynchroner IO:
- Fileoffset muß bei der Operation angegeben werden, da
weil die Operationen in beliebiger Reihenfolge ausgeführt werden dürfen,
kein Kontext möglich ist. (GNU info)
- Neue Blöcke werden einfach angehängt und beim Callback wird angegeben,
wo der Block geschrieben wurde.
(Wunsch bei Logfile)
Problem dabei: Wird ein Block nicht vollständig geschrieben, kann er nicht
vervollständigt werden....
Hypothese:
Die Abstraktion 2) wird durch ACE_Asych_Write_Stream hergestellt
Allerdings:
Bei ACE_Asynch_Read_File::read und ACE_Asynch_Write_File::write :
offset muß angegeben werden
Implementierung in POSIX_Async_IO
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber