@Override
	public V get(K key) {
		int keyhash = hash(key) % lock.length;
		synchronized(lock[keyhash]){
			int tabHash = hash(key) % table.length; 
			//long t = System.currentTimeMillis();
			V val = table[tabHash].get(key);
			/*long time;
			if((time = System.currentTimeMillis()) > t+2000){
				System.out.println("error in get! Thread " + ((HMThread)Thread.currentThread()).getThreadId() 
						+ " went over by " + (time - t) + " in bucket " + keyhash);
			}*/
			return val;
		}
	}