云渲染服务中java.util.ConcurrentModificationException异常问题最近重新思考和回顾云渲染服务中的一个问题回调视频渲染进度的问题修改在url中回调进度,之前的代码片段已启用。之前暴露的漏洞:在多线程编程中,直接使用hashmap来保存当前渲染任务,没有进行一些必要的线程间互斥和同步操作,导致一个线程通过迭代器遍历hashmap时,另一个线程同时修改hashmap,导致程序抛出java.util.ConcurrentModificationExceptionjava.util.ConcurrentModificationExceptionatjava.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1493)atjava.base/java.util.HashMap$KeyIterator.next(HashMap.java:1516)atcom.seeshion.schedule.ProcessTask.test(ProcessTask.java:39)atjdk.internal.reflect.GeneratedMethodAccessor32.invoke(UnknownSource)...程序后续也没有处理异常,导致任务不断失败。解决方法HashTable可以使用HashTable来解决这个问题。HashTable
