关于静态List的高并发读写的线程安全问题
boois 2013-01-23 04:23:45 大家好,关于List<T>的线程安全论坛里讨论了很多,基本上都是针对怎么应用读写锁的操作发表的看法。我仔细思考了一下,有个特殊情况下的疑问想得到明确的答案,希望有大牛可以赐教。
假设在一个Web项目中有百万级别的用户,这些用户的登录账号和登录密码我们存储在一个静态的 List<UserInfo> 中,用来提供用户登录的快速响应。
那么,在高并发的情境下(假设用户频繁读取账号密码,修改密码)都会对该List作大量读写,但是这里每个用户读写的都是对应自己的那个UserInfo。按我的理解,List中保存的是该UserInfo的内存地址,只要我们不new一个新的UserInfo来替代当前对象,我们对这个UserInfo进行数据的修改都不影响List的本身结构,所以这样的读写是线程安全的。在这种情形下是不用对List进行读写锁定的。
我这样理解对吗???求赐教,最好有实例说明。