Lock() public méthode

public Lock ( string address ) : Task
address string
Résultat Task
Exemple #1
0
        public async Task Lock()
        {
            ++this.lockCount;

            if (this.status == LockStatus.Locked)
            {
                return;
            }
            if (this.status == LockStatus.LockRequesting)
            {
                await WaitLock();

                return;
            }

            this.status = LockStatus.LockRequesting;

            // 真身直接本地请求锁,镜像需要调用Rpc获取锁
            MasterComponent masterComponent = this.GetComponent <MasterComponent>();

            if (masterComponent != null)
            {
                await masterComponent.Lock(this.address);
            }
            else
            {
                RequestLock();
                await WaitLock();
            }
        }