私のプログラムは、次の行で頻繁にクラッシュします (不正なアクセス)。
int writeSize = [_outputStream write:pCopyOfDataBuff maxLength:sendLength];
pCopyOfDataBuff は
pCopyOfDataBuff = new unsigned char [sendLength];
クラッシュした行の直前に割り当てられ、スタックにデータが書き込まれます。Context は、このストリームを処理する特別なスレッドです。
シンボリック例外ブレークポイントを使用してデバッガーで停止すると、_outputStream が実際に閉じられていることがわかります。
[_outputStream close];
メインスレッドで閉じられました。現在、これは同時に発生している可能性があります。
私の質問: 複数のスレッドで、このように NSOutputStream を処理しても安全ですか? NSStream へのすべての呼び出しを同じスレッドに同期する必要がありますか?
ありがとう。ドキュメントで簡単な答えが見つかりません。