近期在做Android应用,需求如下:
绘制指定行列的表格,并且根据websocket发送的内容填充到指定行列中。
例如websocket发送的(1,1,"你好"),这边就将“你好”填充到坐标为(1,1)的网格中。
表格采用的是第三方库,SmartTable。每次websocket发送的数据都会存储到数组中,随后使用setTableData()函数完成表格数据的设置。
但是在这个过程中出现了Java ConcurrentModificationException。
解决方案:
Lock lock = new ReentrantLock()
lock.lock()
try{
可能会发生冲突的代码
}finally{
lock.unlock()
}