在JVM中具有String常量池缓存的功能
将synchronized(string)同步块与String联合使用时,要注意常量池带来的一些例外。
出现这样的情况是因为String的两个值都是AA,两个线程持有相同的锁,所以造成线程B不能执行。这就是String常量池所带来的问题。
这样实例化一个对象就持有两个不同的锁了。
在JVM中具有String常量池缓存的功能
将synchronized(string)同步块与String联合使用时,要注意常量池带来的一些例外。
出现这样的情况是因为String的两个值都是AA,两个线程持有相同的锁,所以造成线程B不能执行。这就是String常量池所带来的问题。
这样实例化一个对象就持有两个不同的锁了。