共通のソケットで複数の greenlet を送信しています。経由で送信された各パッケージが適切に分離されていることが保証されていますsocket.sendall
か、それとも を呼び出すたびにロックを取得する必要がありますかsendall
?
したがって、次のシナリオを防止したいと考えています。
- g1送信
ABCD
- g2送信
1234
- 受信データが混在しているなど
AB1234CD
ABCD1234
または_1234ABCD
アップデート
ソースコードを見た後、このシナリオは起こり得ないと思います。しかし、g1 または g2 が でクラッシュする可能性があるため、ロックを使用する必要がありsendall
ます。誰かがこれを確認できますか?