黑马程序员技术交流社区

标题: java 单线程访问vector对象,会消耗时间,而访问ArrayListj就不会,为什么? [打印本页]

作者: 姜佳文    时间: 2014-8-4 21:38
标题: java 单线程访问vector对象,会消耗时间,而访问ArrayListj就不会,为什么?
看了java技术核心 1 这本书里面有句话说:单线程访问vector对象,会消耗时间,而ArrayListj就不会,因为vector是同步的,而ArrayList不是同步的。但我的问题是,为什么在单线程情况下,vector是同步的就会消耗时间,而因为ArrayList是异步的就不会呢????如果是因为在同步的情况下,一个线程在运行中,另一个线程要等待而造成时间的消耗,那么ArrayList名义上虽然是异步的,但在单线程访问的情况,还不是一样走着同步的路线(因为我的理解是单线程跟同步也是一样,当一个线程在运行中,另一个线程要等待,等待运行中的线程死忙掉才能运行),所以还不是一样消耗时间。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2