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