我的服务类中有一个回调方法,该方法每秒都会被调用一次并带有数据列表,并且该方法将被连续写入到JSONArray中,如下所示。
每秒调用一次onDataCapturemethod()。因此,此方法将在一分钟内被调用60次,依此类推。
private void onDataCapture(List<DataModel> model){
myJsonArray.put(model);
}
我还有另一个调度程序方法,该方法每15秒调用一次。这将从myJsonArray中获取数据并将其发布到服务器。然后它将清除数组。因此,此方法将在一分钟内调用4次,依此类推。
private void storeDataToBackend(){
for (int i = 0; i < myJsonArray.length(); i++) {
tempJson.put(myJsonArray.get(i));
}
.....
myJsonArray = new new JSONArray(); // Clearing after storing to backend
}
我的问题: 有时我会在myJsonArray上同时进行读写操作时遇到并发问题。解决Android / Java中此问题的有效方法是什么?请举一个例子。让我知道是否需要更多详细信息。
我已经遍历了CopyOnWriteArrayList,并且它在文档中提到的有点贵。请举例说明在这种情况下可以做什么。