detached和assignCurrentContext是什么意思?

时间:2018-02-06 12:25:02

标签: swift

当我将作业添加到队列中时,DispatchWorkItemFlags为我们提供了几个选择选项

public func sync<T>(flags: DispatchWorkItemFlags, execute work: () throws -> T) rethrows -> T
public static let barrier: DispatchWorkItemFlags
public static let detached: DispatchWorkItemFlags
public static let assignCurrentContext: DispatchWorkItemFlags

我知道障碍会使作业无法与其他人同时执行,但我不知道分离 assignCurrentContext 是什么,Apple并没有提供任何关于它们的描述,所以谁可以告诉我这个。

1 个答案:

答案 0 :(得分:1)

您可以在dispatch_block_flags_t manual

中了解相关信息
  

DISPATCH_BLOCK_ASSIGN_CURRENT   表示调度块应该   被赋予当前的执行上下文属性   块对象的创建时间。 ...

     

DISPATCH_BLOCK_BARRIER   表示调度块应该充当   提交到DISPATCH_QUEUE_CONCURRENT队列时阻塞块。 ...

     

DISPATCH_BLOCK_DETACHED   表示应执行调度块   与当前执行上下文属性(例如QoS)无关   class,os_activity_t和当前IPC请求的属性,如果   任何。 ...

我只复制了每个旗帜文件中的第一句话。点击链接了解更多详情。