《Map 四种同步方式的性能比较》的相关内容
相关讨论
Copy On Write Hash Map (线程同步相关)
本文是继前两篇文章之后的有一篇线程数据结构相关文章.
线程同步
http://www.javaeye.com/topic/164905
线程同步模型, 生产者/消费者, 读写同步,线程池,concurrent map
http://www.javaeye.com/topic/174591
我以前写过这个Fast Read Map 数据结构的文章.
但是那个时候, 理解得并不是那么透彻, 这 ...
by buaawhl 2008-03-21 浏览 (5565) 回复 (28) 关键字: 线程 copy on write
Concurrent Read/Write Map
JDK1.5 引入了 concurrent package, 提供了更多的concurrent 控制方法。
还提供了一个 ConcurrentHashMap 类。从API上看,是可以读写同步。多个thread可以同时读取,一个thread写的时候,其他thread都不能读写。
这是一个用处很广、很方便的类。我想,能不能在 jdk1.4 及以下版本也提供一个。于是查看了 ConcurrentHash ...
by buaawhl 2005-03-10 浏览 (10473) 回复 (20) 关键字:
线程同步模型, 生产者/消费者, 读写同步,线程池,concurrent map.
之前写了一篇线程同步的原理分析的文章.
线程同步
http://www.javaeye.com/topic/164905
看到大家的反馈,感到深受鼓励.
看来这种举例说明本质原理的浅显易懂的文章, 还是比较受欢迎的.
关于线程, 我以前也写过一些文章.只是写得不那么清楚易懂.
一是因为自己的理解也有限, 二是很难找到灵感,很难写出一个非常贴切的例子.
应一些坛友的意见. 我这里继续发一些线程 ...
by buaawhl 2008-03-21 浏览 (4850) 回复 (13) 关键字: 线程 thread
相关博客
构建一个更好的 HashMap
ConcurrentHashMap 是 Doug Lea 的 util.concurrent 包的一部分,它提供比Hashtable 或者 synchronizedMap 更高程度的并发性。而且,对于大多数成功的 get() 操作它会设法避免完全锁定,其结果就是使得并发应用程序有着非常好的吞吐量。这个月,BrianGoetz 仔细分析了 ConcurrentHashMap 的代码,并探讨 Doug ...
by fzfx88 2008-05-21 浏览 (85) 回复 (0) 关键字: concurrenthashmap
Reentrantlock-新的同步方式
转自:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html
回顾synchronized
把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。原子性意味着一个线程一次只能执行由一个指定监控对象(lock)保护的代码,从而防止多个线程在更 ...
by spiritfrog 2008-07-14 浏览 (24) 回复 (0) 关键字:
类ThreadLocal的使用
ThreadLocal的使用
1前言
在多线程中,有时会使用到类ThreadLocal,为了弄清楚其中的意义,特地翻看了源代码,总结了一下,但是其中有自己的想法,不免有错误,见谅。
2概述
该类并不是Thread,而是提供了线程局部变量。功能比较简单。就是为每一个使用该变量的线程都提供一个变量值的副本,即每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。这里有个预备知识,对于jvm ...
by xiaobian 2008-03-18 浏览 (87) 回复 (0) 关键字:
java多线程设计模式详解[推荐]
java多线程设计模式详解[推荐]java多线程设计模式详解之一 线程的创建和启动java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。Thread类是实现了Runnable接口的一个实例,它代表一 ...
by rcyl2003 2007-08-16 浏览 (8) 回复 (0) 关键字:
thread
java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。
Thread类是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实 ...
by CherryRemind 2007-04-02 浏览 (397) 回复 (0) 关键字:
相关圈子讨论
google背后的分布式架构
Google背后的分布式计算架构策略
Google是与众不同的。它的独特不仅仅表现于革新的思维和充满创意的应用 (比如那个大堂里的地球模型),更在于其有别常规的IT策略……
加利福尼亚州山景城(Mountain View)Google公司(Google,下称Google)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与Google地球(Google Earth)相仿的世界地图,一个转动 ...
by dogstar 2008-05-29 浏览 (996) 回复 (0)
D语言的GC与内存模型
文章太长了,贴个地址,也给自己的Blog赚点人气,哈哈!
http://colorful1982.blog.sohu.com/58810396.html
by Colorful 2007-08-07 浏览 (1322) 回复 (13)
ArrayList 的 s&a
“注意,此实现不是同步的。如果多个线程同时访问一个 ArrayList 实例,而其中至少一个线程从结构上修改了列表,那么它必须 保持外部同步。(结构上的修改是指任何添加或删除一个或多个元素的操作,或者显式调整底层数组的大小;仅仅设置元素的值不是结构上的修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedLis ...
by snowind9 2007-11-20 浏览 (402) 回复 (3)
相关新闻
推荐风轻扬:Java 6中的性能优化
J2SE 6(代号:Mustang野马)主要设计原则之一就是提升J2SE的性能和扩展能力,主要通过最大程度提升运行效率,更好的垃圾收集和一些客户端性能来达到。
1、偏向锁(Biased locking)
Java 6以前加锁操作都会导致一次原子CAS(Compare-And-Set)操作,CAS操作是比较耗时的,即使这个锁上实际上没有冲突,只被一个线程拥有,也会带来较大开销。为解决这一问题,Ja ...
by withyou 2008-07-07 浏览 (842) 回复 (2) 关键字:
我也谈谈JAVA并发程序设计的现状和前景
最近我也是在涉及并发Java方面的东西, 说说我的心得.
确实到了并发盛行的时期了, 我觉得最重要的原因还是多核处理器及其硬件体系的日趋成熟, 并且成本摊薄到大众价格了.
j.u.c 包主要是为了性能来的, 其设计其实不如Java传统的内置同步机制(synchronized块和方法, 以及 Object.wait(); Object.notify())优雅, 但是传统同步机制的最大弊病就是不区 ...
by 歆渊 2007-09-25 浏览 (561) 回复 (0) 关键字:
Google应用引擎(AppEngine)初窥
首先声明的是我没有写过AppEngine的应用,我们只是在文档中探索,也许你能找到你感兴趣的东西。
任何把你限制在某台机器的时代将过去。AppEngine没有磁盘访问,没有线程,没有超级用户,没有系统命令调用,什么都没有,除了基于服务的访问。服务就是一切,因为可以通过装载平衡等幕后的一些手段来升级服务,而不需要程序的安装或者补丁等。
使用CGI接口并没有错,这个应用容器世界有着和CGI类似的特 ...
by levis2000 2008-04-10 浏览 (1725) 回复 (0) 关键字: google appengine
推荐知识库条目
Comming soon

