Gcd - linhay/Stem GitHub Wiki

Gcd

public class Gcd

Methods

synchronzed(_:closure:)

原子锁

public func synchronzed(_ lock: Any, closure: () -> Void)

Parameters

  • lock: - lock: 被锁元素
  • closure: - closure: 闭包

delay(_:event:)

主线程异步延时

public class func delay(_ time: Double, event: @escaping () -> Void)

Parameters

  • time: - time: 时间 (秒)
  • event: - event: 延时事件

delay(label:seconds:event:)

子线程线程异步延时

public class func delay(label: String, seconds: TimeInterval, event: @escaping () -> Void)

Parameters

  • label: - label: 标识
  • time: - time: 时间 (秒)
  • event: - event: 延时事件

duration(_:)

耗时(秒)

public class func duration(_ closure: () -> Void) -> TimeInterval

Parameters

  • block: - block: 需要测试执行的代码

group(asyncs:notify:)

异步线程组

public class func group(asyncs: (() -> Void), notify: @escaping () -> Void)

Parameters

  • asyncs: - asyncs: 异步线程组
  • notify: - notify: 全部完成回调

`repeat`(interval:event:completion:)

定时

@discardableResult public class func `repeat`(interval: TimeInterval, event: @escaping ((_: DispatchSourceTimer) -> Void), completion: (() -> Void)? = nil) -> DispatchSourceTimer

Parameters

  • interval: - interval: 间隔(s)
  • event: - event: 定时事件
  • completion: - completion: 完成回调

Returns

DispatchSourceTimer

`repeat`(interval:keep:event:completion:)

定时

@discardableResult public class func `repeat`(interval: TimeInterval, keep: TimeInterval, event: @escaping (_: DispatchSourceTimer) -> Void, completion: (() -> Void)? = nil) -> DispatchSourceTimer

Parameters

  • interval: - interval: 间隔(s)
  • keep: - keep: 持续时间, 小于 0 则会一直执行
  • event: - event: 定时事件
  • completion: - completion: 完成回调

Returns

DispatchSourceTimer

`repeat`(interval:keep:leeway:event:completion:)

定时

@discardableResult public class func `repeat`(interval: TimeInterval, keep: TimeInterval, leeway: Double = 0.1, event: @escaping ((_: DispatchSourceTimer) -> Void), completion: (() -> Void)? = nil) -> DispatchSourceTimer

Parameters

  • interval: - interval: 间隔(s)
  • keep: - keep: 持续时间, 小于 0 则会一直执行
  • leeway: - leeway: 精度, 默认 0.1
  • event: - event: 定时事件
  • completion: - completion: 完成回调

Returns

DispatchSourceTimer