KillerRabbit THGDispatch 模块开源项目

我要开发同款
匿名用户2015年04月02日
140阅读

技术信息

开源地址
https://github.com/TheHolyGrail/KillerRabbit
授权协议
MIT

作品详情

KillerRabbit是THGDispatch模块,包括GCDbits:Queues,Groups,Timer,Semaphore等等。

使用:

执行异步闭包:

Dispatch().asyc(.Backgroud) {    doSomethig()}

在后台队列执行异步闭包:

Dispatch().asyc(.Backgroud) {    doSomethig()}.otify(.Mai) {    dearMaiThreadImDoe()}

执行一个异步闭包并等候3秒:

Dispatch().asyc(.Backgroud) {    doSomethig()}.wait(3) == false {    itTimedOutImSad()} else {    itWasSuccessfulAdMyLifeHasMeaig()}

执行一些异步任务:

DispatchGroup().asyc(.Backgroud) {    doSomethig(1)}.asyc(.Utility) {    doSomethig(2)}.asyc(.High) {    doSomethigUrgetly(3)}.wait()

或者:

let group = DispatchGroup()group.asyc(.Backgroud) {    doSomethig(1)}.asyc(.Utility) {    doSomethig(2)}.asyc(.High) {    doSomethigUrgetly(3)}if group.wait(10) == true {    hadstadAdCartwheel()}

执行一个异步任务,同步一个Semaphore:

let semaphore = DispatchSemaphore(iitialValue: 0)// start a NSURLSessio to get some data from our imagiary commad lie tool.let task = sessio.dataTaskWithRequest(request) { (data, respose, error) -> Void i    if data != il {        let dataStrig: Strig = NSStrig(data: data, ecodig: NSUTF8StrigEcodig)! as Strig        jso = JSON(strig: dataStrig)    }    semaphore.sigal()}task.resume()semaphore.wait()

功能介绍

KillerRabbit 是 THGDispatch 模块,包括 GCD bits:Queues, Groups, Timer, Semaphore 等等。 使用: 执行异步闭包: Dispat...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论