egametang 先执行释放锁,是由ObjectLockRequestHandler调用产生的,ETTask.Coroutine()返回的是ETVoid,因此scene.GetComponent<LoacationComponnet>().Lock(request.Key, request.InstanceId, request.Time).Coroutine();不会等待,直接执行接下去的reply(),执行LocationProxyCompont.Instance.Unlock。这里改成await scene.GetComponent<LoacationComponnet>().Lock(request.Key, request.InstanceId, request.Time)就行了。但原来的写法问题也不大,只是锁先释放,再执行一个无用的定时。测试代码里应该是10个机器人登录了同一个账号?因此看起来执行顺序是反常的