StaticMutex is private, use spinlock