Rust is telling us that we can’t move the ownership of lock counter into multiple threads. Let’s fix the compiler error with a multiple-ownership(like RC) method
Fortunately, Arc<T> is a type like Rc<T> that is safe to use in concurrent situations
let counter = Arc::new(Mutex::new(0));
let counter = Arc::clone(&counter);