本文整理汇总了C#中Flag.IsSet方法的典型用法代码示例。如果您正苦于以下问题:C# Flag.IsSet方法的具体用法?C# Flag.IsSet怎么用?C# Flag.IsSet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flag
的用法示例。
在下文中一共展示了Flag.IsSet方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RunUntilFinish
/// <summary>
/// 异步调用协程并等待其完成 (有死锁风险)
/// </summary>
/// <param name="coroutine">欲调用的协程</param>
public static void RunUntilFinish(IEnumerator coroutine, Flag cancelFlag=null)
{
if (IsMainThread())
throw new Exception("can not call this method in main thread, will cause deadlock");
Flag finishFlag = new Flag();
lock (m_taskQueue)
m_taskQueue.Enqueue(WrapCoroutineAndSetFinishFlag(coroutine, finishFlag));
while ((cancelFlag == null || !cancelFlag.IsSet()) && !finishFlag.IsSet() && !m_stopped)
{
Thread.Sleep(20);
}
}