|
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-03-23
zgd 写道 JDK本来就有copy on write array list
ConcurrentHashMap不是copy on write 它用了多个锁(默认是16个) 以前我还不知道这些. zgd 可否详细讲讲? ----------------------- qiezi -- WRRM (“Write Rarely Read Many”)数据结构。 WRRM也是一种 Pattern 了. 我以前写成 Fast Read. COW 和引用计数有一定关系. 我搜索COW的时候,看到类似的内容.不过没有深入研究. |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-23
偶来说2句COW
在fork(你要说clone也一样)的时候,子进程所有的内存空间都不做实际的mapping(从物理地址mapping到虚拟地址),而是把父进程的(同时也是子进程的)整个内存空间,每个页面都标上COW的标志,然后mapping到子进程空间。 然后父子各干各的,直到有任何一方要写一个页面了,kernel不得不从物理地址申请一个页面,mapping之,复制其内容,给另外(还没做写操作的)一个进程用。同时,把COW bit给mask了。 这样做的唯一理由是节省资源,时间的和空间的。跟线程同步没有任何关系。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-24
put一次就要复制整张表,代价太大了。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-24
又看了一遍楼主的理论 窃以为是误导初学者的典型例子
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-25
jigsaw 写道 又看了一遍楼主的理论 窃以为是误导初学者的典型例子
呵呵,就如n楼上的看家所言,ConcurrentHashMap可以快速简单地解决楼主所想解决的问题。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-25
楼主 你该去看看rwlock是怎么实现的 至少看看是怎么用的
你这么闭门造车牵强附会不会有什么进步的 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-26
seen 写道 楼主 你该去看看rwlock是怎么实现的 至少看看是怎么用的
你这么闭门造车牵强附会不会有什么进步的 根本不是一码事。。你应该了解一下rwlock以外的东西。。Lock-Free和Wait-Free的概念 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-26
强烈推荐以下部分。 AZUL 应该是世界上最强的Java系统。 他们的JVM和JDK完全为高并发设计:
A Non-Blocking HashTable http://blogs.azulsystems.com/cliff/2007/03/a_nonblocking_h.html A Non-Blocking HashTable, Part 2 http://blogs.azulsystems.com/cliff/2007/04/a_nonblocking_h.html Engineering a Hash Table http://blogs.azulsystems.com/cliff/2007/06/engineering_a_h.html |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-26
这个code本质还是 rwlock.所有的写操作用了sychronized, 还是lock. 另外每次写都要copy, 其实更差。按照cliff的测试。其实32个processor以下。ConcurrentMap足够。只有在更大的情况下。基于CAS的lockfree的数据结构才更有效
qiezi 写道 seen 写道 楼主 你该去看看rwlock是怎么实现的 至少看看是怎么用的
你这么闭门造车牵强附会不会有什么进步的 根本不是一码事。。你应该了解一下rwlock以外的东西。。Lock-Free和Wait-Free的概念 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-26
qiezi 写道 seen 写道 楼主 你该去看看rwlock是怎么实现的 至少看看是怎么用的
你这么闭门造车牵强附会不会有什么进步的 根本不是一码事。。你应该了解一下rwlock以外的东西。。Lock-Free和Wait-Free的概念 我们是在就事论事 楼主给出的上下文就是rwlock XXXfree是另外一种解决锁的问题,但不是楼主的焦点 很明显,楼主想自己搞个rwlock,于是我建议他看看大家认可的做法而已 CAS嘛 如果不是CPU支持 还不是一样难搞 只是转移了问题而已 |
|
| 返回顶楼 | |







