ByteBuffer
只要 a和 a只读取ByteArrayInputStream
底层证券,就“安全”吗?byte []
如果我从一个然后另一个读取/获取,因为每个都有自己的内部标记/计数器等,是否有可能发生冲突?
问问题
522 次
2 回答
2
从ByteBuffer.wrap
andByteArrayInputStream
的构造函数的来源来看,看起来这两个类都会存储您传递给它们的数组而无需复制。似乎这两个类都不会修改数组,从而可以安全地byte[]
在多个 and 实例之间ByteBuffer
共享同一个数组ByteArrayInputStream
。
于 2017-03-12T14:16:46.543 回答
1
这是安全的,有一个警告。必须有一个发生在链之前,以确保使用共享的线程byte[]
可以看到对之前的最后一次写入,byte[]
然后它变得“有效地不可变”。
简单来说就是线程在设置共享的时候需要同步,
于 2017-03-12T14:27:45.927 回答