'redisson-netty-2-22'thread is stuck on line #763 of java.text.DateFormatSymbols file in toOneBasedArray() method. Before getting stuck, this threa read obtained 1 lock (ch.qos.logback.core.util.CachingDateFormatter lock) and never released it. Due to that 16 threads are ERROR BLOCKED as shown in this stack trace. If threads are BLOCKED for a prolonged period, your application can become unresponsive.
根据您提供的错误信息,出现这种情况的原因可能是Logback(或其他日志库)的日期格式化器被多个线程同时访问并产生了线程安全问题。在这种情况下,一个线程在使用日期格式化器时获取了锁,但没有释放它,导致其他线程被阻塞。
解决此问题的一种常见方法是为每个线程提供独立的DateFormat
实例,以避免多线程共享同一DateFormat
实例。在Java中,DateFormat
类及其子类(如SimpleDateFormat
)都不是线程安全的,即使它们通常被声明为静态变量,也不能被多个线程安全地共享。
如果你无法控制这部分代码(例如,它位于第三方库中),那么你可能需要寻找是否有更新的版本修复了此问题,或者与库的维护者联系澄清此问题。