gpt4 book ai didi

objective-c - 如何在从 NSMutableData 读取的 NSInputStream 上发出 NSStreamEventEndEncountered 信号

转载 作者:行者123 更新时间:2023-12-03 18:07:03 24 4
gpt4 key购买 nike

在 Cocoa 中,我设置了两个 NSThread,一个生产者和一个消费者。生产者将数据附加到 NSMutableData,接收者从该数据打开 NSInputStream 并分块读取。

生产者线程的写入速度比消费者进程快很多,这没关系。但生产者只生产有限数量的工作,然后退出。我希望消费者线程能够处理 NSStreamEventEndEncountered 事件。当 NSInputStream 来自 NSMutableData 时,我如何发出信号?

我应该让生产者发送一系列带有表示流结束的神奇数字的字节吗?

最佳答案

The producer appends data to an NSMutableData, and the receiver opens an NSInputStream from that data and reads in chunks.

那是行不通的。来自 the -initWithData: documentation :

The contents of data are copied.

意思是,它将复制当时数据对象中的所有内容,而不是在向其中添加更多数据时遵循数据对象的内容。

(+inputStreamWithData: 也是如此。)

尝试 pipe相反。

关于objective-c - 如何在从 NSMutableData 读取的 NSInputStream 上发出 NSStreamEventEndEncountered 信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/781448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com