当我们说Hashtable或Vector是同步的时候意味着什么?

zen*_*ngr 7 java

问题说明了这一切,只是想知道,在一次采访中,当他们问你时,你会说什么,"哈希表或矢量被同步的实际意义是什么?"

jju*_*uma 14

实际上它意味着两件事:

  1. 除非您将在线程之间共享它们(如果不是仅使用HashMap或ArrayList),请不要使用它们.
  2. 如果您在线程之间共享它们,请检查它们实现的同步策略是否足以使您的程序线程安全(因为某些同步的存在几乎不表示类的全面并发行为).


Bal*_*usC 8

这意味着,接入为基础数组/集合(添加,获取,设置,放,删除,etc..etc ..)都是同步的.它不能同时发生.实际上,所有访问都是在先进先出(FIFO)队列中进行布局的.只有当且只有当前正在访问该对象的没有人(读取:没有其他线程)时,队列中的下一个(线程)才可以访问它.