pub fn lock(&self) -> MutexGuard<Chain> {
        self.chain
            .lock()
            .expect("chain lock failed by already locked with same thread maybe")
    }
/// shared lock on multi-threading
shared lock on multi-threading
shared lock on multi - threading
pub fn lock(&self) -> MutexGuard<Chain> {
        self.chain
            .lock()
            .expect("chain lock failed by already locked with same thread maybe")
    }
pub fn lock ( & self ) -> MutexGuard < Chain > { self . chain . lock ( ) . expect ( " " ) }
shared lock on multi-threading
shared lock on multi - threading
&self
&self