000
15.03.2010, 19:06 Uhr
~XonoDann
Gast
|
Hi,
ich hab ein Programm das mit 2 Threads läuft. In dem einem Thread wird ein TCP-Socket verwendet um ankommende Daten zu lesen, während der andere Thread den gleichen Socket verwendet um Daten hinein zu schreiben.
Ich hab das ganze Anfangs mit mutex'es gemacht, da hab ich aber eine recht hohe Latenz bei rausbekommen ~500ms am localhost. Das erschien mir sehr viel. Deswegen hab ich die mutexe mal auskommentiert und das ganze noch mal laufen lassen, in der Erwartung, dass es zu race-condition kommen würde.
Nach längerem "laufen lassen" ist allerdings keinerlei racecondition aufgetreten, wobei ich schon erwartet hätte, das irgendwo was hätte passieren müssen.
Deswegne die Frage, müssen sockets generell synchronisiert werden, oder müssen nur mehrere operationen gleicher art synchronisiert werden?
sprich 1 thread lesen, 1 thread schreiben ---> ok? |