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