gpt4 book ai didi

java - (J2me) 流作为缓冲区?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:53 24 4
gpt4 key购买 nike

这里我有一个 j2me 应用程序,我需要从输出流传输或保存实时数据。

如果我使用一个线程将数据写入流,并在写入某些 no ofl 字节后,其他线程从中获取字节数组,保存或传输它并将流重置为零,会发生什么情况..

即对其调用重置..这实际上等于使用流作为固定大小的缓冲区..

这里的限制是我可能无法使用 byteBuffer 对象来实现此目的

这会使流无效,因为第一个线程仍在连接到它吗?

最佳答案

我假设您将使用 java.io.ByteArrayOutputStream 类,它是 J2ME CLDC 1.0 标准的一部分。

CLDC 1.0 没有提及 ByteArrayOutputStream 的线程安全性。

但是如果您查看 ByteArrayOutputStream 的实现,所有需要的方法似乎都是同步的:

public synchronized byte toByteArray()[] { ... }
public synchronized void reset() { ... }
public synchronized void write(byte b[], int off, int len) { ... }

如果您有权访问 J2ME 类的源代码。您可以仔细检查一下。

如果方法是同步的,那么按照您的计划使用流应该是安全的。

关于java - (J2me) 流作为缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242372/

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