synchronized 只适用于单机 源代码中很多线程安全的类都加类这个关键字 负载均衡下不会出现问题吗?
synchronized只对进程内的资源进行保护,所以,你的保护的资源,如果是进程级的(比如:对内存中的列表或变量进行保护等)是不会有问题的。
但是,如果要对进程外部的资源进行保护,就不能用这种方式了(比如:要对硬盘中某个文件的读取,进行读写保护等),就不能用这种方式了,需要另外用进程间同步的手段,甚至其它方式进行处理。
需要特别说明的是,这个关键字,对是否进行负载均衡没有关系,只跟你要同时运行一个或多个进程有关系。
嗯嗯嗯
这个线程安全类和负载均衡没关系的啦
比如nginx+tomcat的架构下
相当于有了多个不同的JVM
synchronize是用的对象锁,而对象储存在jvm开辟的数据运行区中,所以不同jvm之间的线程不能简单的操作对方的对象吧
举个例子 有服务器A,B分别有ConcurrentHashMap A1,B1
服务器A的线程只能操作A1(get,put)
服务器B的线程只能操作B1(get,put)
你说的问题,应该是指分布式数据的一致性方面的问题,这和synchronize是没有关系的