CoroutineLock 类
协程锁
继承成员
命名空间: Fantasy.Async
程序集: Fantasy.Net.dll
语法
public sealed class CoroutineLock : IPool, IDisposable
属性
| 编辑本文 查看源代码CoroutineLockType
协程锁的类型
声明
public long CoroutineLockType { get; }
属性值
类型 | 描述 |
---|---|
long |
方法
| 编辑本文 查看源代码Dispose()
销毁协程锁,如果调用了该方法,所有使用当前协程锁等待的逻辑会按照顺序释放锁。
声明
public void Dispose()
IsPool()
获取一个值,该值指示当前实例是否为对象池中的实例。
声明
public bool IsPool()
返回
类型 | 描述 |
---|---|
bool |
Release(long)
按照先入先出的顺序,释放最早的一个协程锁
声明
public void Release(long coroutineLockQueueKey)
参数
类型 | 名称 | 描述 |
---|---|---|
long | coroutineLockQueueKey |
SetIsPool(bool)
设置一个值,该值指示当前实例是否为对象池中的实例。
声明
public void SetIsPool(bool isPool)
参数
类型 | 名称 | 描述 |
---|---|---|
bool | isPool |
Wait(long, string, int)
等待上一个任务完成
声明
public FTask<WaitCoroutineLock> Wait(long coroutineLockQueueKey, string tag = null, int timeOut = 30000)
参数
类型 | 名称 | 描述 |
---|---|---|
long | coroutineLockQueueKey | 需要等待的Id |
string | tag | 用于查询协程锁的标记,可不传入,只有在超时的时候排查是哪个锁超时时使用 |
int | timeOut | 等待多久会超时,当到达设定的时候会把当前锁给按照超时处理 |
返回
类型 | 描述 |
---|---|
FTask<WaitCoroutineLock> |