在JAVA如何锁住一个BYTE[]数组不被修改?

实现runable接口的一个类,会在while循环中不停处理一个byte[]数据
另一个类会不定时调用这个runable类的一个共有方法去更新这个byte[]数组

就是主线程定义了一个子线程类的对象
如果主线程收到数据,直接引用这个子线程的一个public方法去修改byte[]数组。
子线程会不断判断byte[]数组是否有数据并处理

请问如果在处理时不让其他东西去修改这个byte[]数组?

3个回答

自己写一个对象,维护一个私有数组,对外提供操作数组的函数并给所有操作函数加上同步锁就可以了。

就是一个锁解决,所有读写byte数组的函数用同一个synchronized修饰

典型的线程同步问题。参考资料

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问