Java中的同步和异步区别
经常看到介绍 ArrayList 和HashMap是异步,Vector和HashTable是同步,这里同步是线程安全的,异步不是线程安全的,举例说明:
当创建一个Vector对象时候,
Vector ve=new Vector();
ve.add("1");
当在多线程程序中,第一个线程调用修改对象ve的时候,就为其上了锁,其他线程只有等待。
当创建一个ArrayList对象时候,
ArrayList list=new ArrayList();
list.add("1");
当在多线程程序中,第一个线程调用修改对象list的时候,没有为其上锁,其他线程访问时就会报错。
本文详细解释了Java中同步和异步的概念及其差异,并通过具体的Vector和ArrayList实例对比了同步与非同步的数据结构在线程安全方面的表现。
1万+

被折叠的 条评论
为什么被折叠?



