1
这里我得到了一个j2me应用程序,我需要从输出流传输或保存实时数据。(J2me)流作为缓冲区?
,如果我使用一个线程将数据写入到流和一定的写作没有氧氟沙星字节其他线程后得到的ByteArray出它保存或发送并重置流为零会发生什么..
它即调用复位。这有效地等同于使用流作为固定大小的缓冲区..
这里的约束是,我可能无法使用字节缓冲区对象为宗旨
意志,使流无效,因为第一个线程仍然连线到它?
这里我得到了一个j2me应用程序,我需要从输出流传输或保存实时数据。(J2me)流作为缓冲区?
,如果我使用一个线程将数据写入到流和一定的写作没有氧氟沙星字节其他线程后得到的ByteArray出它保存或发送并重置流为零会发生什么..
它即调用复位。这有效地等同于使用流作为固定大小的缓冲区..
这里的约束是,我可能无法使用字节缓冲区对象为宗旨
意志,使流无效,因为第一个线程仍然连线到它?
我假设你要使用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类的来源。你可以仔细检查一下。
如果方法是同步的,那么按计划使用流应该是安全的。
我只理解你的第一句话。试着重新提出你的问题;这很不清楚。 – Tom