Sparkle’s Workshop

并发相关

Posted on March 26, 2008 - Filed Under Uncategorized |

http://www.javaeye.com/post/498557

copy on write array list
ConcurrentHashMap
ReentrantLock
ReentrantReadWriteLock
CAS
我都有在用,JDK内置
一直都想写一些关于它们的文章,不过始终太松散,而且我是知道原理然后直接用API而已

我随便说一些
楼主的copy on write模式是可取的,JDK很早就引入copy on write array list来处理Listener部分,在写入非常非常少的情况下,copy on write其实是很好的。至于楼主的实现好不好就不知道了

ConcurrentHashMap用了多个锁来处理,里面有一个一个的bucket来隔离锁,默认就是16个bucket&锁。但是它也有缺点,就是不能保证数据绝对准确,例如他的size就是不准确的。但是它肯定是线程安全的

ReentrantLock是可以代替synchronized的东西,除了写起来比synchronized难稍稍。默认是non-fair模式,比synchronized快很多,如果改成fair就会下降到跟synchronized差不多

ReadWriteLock很简单,read不互斥,write互斥

CAS就是AtomicInteger之类的了,使用了CPU的交换指令,理论上比锁快,但是在高并发的环境一样会下降

你们还是看一下JDK源代码和JavaDoc好过了,你们的讨论本来就有答案的

Most Commented Posts

Comments

One Response to “并发相关”

  1. 终南No Gravatar on April 27th, 2008 9:53 am

    不错
    —————————
    http://hi.baidu.com/li_zhongnan

Leave a Reply