Sockets und Multithreading
-
Hi,
kurze frage
Ist es sicher mit einem Socket in verschiedenen Threads gleichzeit zu schreiben oder sollte ich ein Mutex herumbauen?
-
Gegenfrage: Ist es sicher aus mehrere Threads in eine Datei zu schreiben? (Was auch immer du mit sicher meinst.)
-
knivil schrieb:
Gegenfrage: Ist es sicher aus mehrere Threads in eine Datei zu schreiben? (Was auch immer du mit sicher meinst.)
Nö, ist es nicht.
Socket == File?
-
In Linux ist alles ein File! Bei Windows nicht, aber es ist trotzdem eine Systemressource.
-
Wenn Mutex nur Informationen enthält, die gelesen werden sollte es ja kein Problem darstellen.
-
Icematix schrieb:
Wenn Mutex nur Informationen enthält, die gelesen werden sollte es ja kein Problem darstellen.
Ich kann und will nicht in deinen Kopf schauen, daher musst du wohl ausfuehrlicher werden. Normalerweise veraendert das Lesen den Zustand eines File-Objektes.
-
"Wenn ein Socket", meine ich.
Naja, habe meine Antwort doch noch gefunden.
Es ist threadsafe gleichzeitig zu lesen & zu schreiben, man sollte nur den Socket nicht schließen solange ein anderer Thread noch in einem blocking call hängt

-
Schoen, es ist aber nicht die Antwort auf die Frage oben.
-
Icematix schrieb:
man sollte nur den Socket nicht schließen solange ein anderer Thread noch in einem blocking call hängt
Wo steht das? Eigentlich wird das Blocking aufgehoben, wenn der Socket geschlossen wurde. Und der Thread kann entsprechend reagieren [z.B. sich beenden].
-
Socket aus einem anderen Thread schliessen wird oft als Cancel-Mechanismus verwendet, und sollte eigentlich sicher sein, ja.