learn scala and use actor to replace thread and lock