add rwlock class and modify the hash class to support multi-thread