socket.socket thread-sicher?
Hallo. In meiner neuesten Kreation, einem Chatserver, gibts mehrere Thräds, die auf die selben socket.socket-s zugreifen (ein Thräd sendet, der andere empfängt). Obwohl ich für die Sockets keine threading.Lock-s habe, ist der Server mir bis jetzt noch nicht um die Ohren geflogen. War das nur Glück und ich sollte das mit den Locks nachholen oder kann ich das so lassen und mich darauf verlassen, dass sowas immer funktioniert?
Die Konstellation ist sowohl unter Windows als auch unter Linux und einigen andern Betriebssystemen threadsicher. Die Threadsicherheit der jeweiligen Socket-API wird vom jeweiligen OS garantiert. Sowohl `send()` als auch `recv()` sind dort atomare Operationen, d.h. die würden blocken, falls zwei Threads gleichzeitig auf dem Socket operieren wollen, bis die Operation des ersten Threads beendet wurde.Üpsilon hat geschrieben:ein Thräd sendet, der andere empfängt