2012-06-28 209 views
1

這裏我得到了一個j2me應用程序,我需要從輸出流傳輸或保存實時數據。(J2me)流作爲緩衝區?

,如果我使用一個線程將數據寫入到流和一定的寫作沒有氧氟沙星字節其他線程後得到的ByteArray出它保存或發送並重置流爲零會發生什麼..

它即調用復位。這有效地等同於使用流作爲固定大小的緩衝區..

這裏的約束是,我可能無法使用字節緩衝區對象爲宗旨

意志,使流無效,因爲第一個線程仍然連線到它?

+0

我只理解你的第一句話。試着重新提出你的問題;這很不清楚。 – Tom

回答

1

我假設你要使用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類的來源。你可以仔細檢查一下。

如果方法是同步的,那麼按計劃使用流應該是安全的。