请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于缓冲区的clear操作

老师您好,视频中说到claer操作并不会真正的将数据清除掉,那会不会在缓冲区clear操作后被其他线程读取到那些我们认为已经“清除”的数据?
如果是clear后继续写入的话,是对原来的数据进行覆盖操作吗?

正在回答

1回答

先说设计原则,内存是不擦除的。

举个例子,GC的时候,删除对象,那么对象删除吗? 删除,但是这只是概念上的删除。实际上,是空间的重新划分。 缓冲区用来做什么——缓冲——里面是数据。那么能删除吗? 不删除,想办法标记为可用再覆盖就好了。因此从这个设计原则出发,clear清空缓冲区吗? 不清空,标记清空。

再说具体的问题,写入的时候怎么办? 重新覆盖,重新记录指针。 

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信