Dispatch Source

//使用该方法,可以更新UI、查询类的属性,甚至是执行方法,所有这一切都不需要重启应用病达到某个特定的工作状态,相当优美。

//1

#if DEBUG

//2

dispatch_queue_t queue = dispatch_get_main_queue();

//3

static dispatch_source_t source = nil;

//4

__typeof(self) __weak weakself = self;

//5

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

//6

source = dispatch_source_create(DISPATCH_SOURCE_TYPE_SIGNAL, SIGSTOP, 0, queue);

//7

if (source) {

//8

dispatch_source_set_event_handler(source, ^{

//9

NSLog(@"%@ Hi I am",weakself);

});

//10

dispatch_resume(source);

}

});

#endif

时间: 2024-10-11 01:50:24

Dispatch Source的相关文章

【读书笔记】GCD-Dispatch Source

一,Dispatch Source是BSD系内核惯有功能kqueue的包装. 参考资料:<Objective-C高级编程 iOS与OS X多线程和内存管理>

Grand Central Dispatch

[Grand Central Dispatch] GCD is one of the technologies for starting tasks asynchronously. This technology takes the thread management code you would normally write in your own applications and moves that code down to the system level. All you have t

NSThread 、NSRunLoop 和 Dispatch Queue

iOS多线程编程中,NSOperation和NSOperationQueue无疑是最常用的,它们能满足绝大部分情况下的线程操作.但在完成一些特殊的任务时,我们还是要使用的NSThread和NSRunLoop. NSThread很好理解,它等同于Java中的Thread类. NSRunLoop却不太好理解.从字面上说,RunLoop可以翻译成“运行回路”或“运行循环”,我们可以把它看成是一种特殊的循环结构——我们知道for或者while循环语句,其实NSRunLoop就是一种类似的循环,只不过它比

Dispatch Sources

一.简介 Dispatch Sources常用于处理跟系统有关的事件,协调处理指定的低级别的系统事件.在配置Dispatch Source时,需指定监控的事件类型.Dispatch Queues.Event Handle(blocks/functions).当被监控的事件发生时,Dispatch Source提交Event Handle到指定的Dispatch Queues. 不同于手动提交到queue中的任务,dispatch sources给应用提供了持续的事件资源.dispatch sou

iOS 并行编程:GCD Dispatch Queues

1 简介 1.1 功能       Grand Central Dispatch(GCD)技术让任务并行排队执行,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务.任务可以是一个函数(function)或者是一个block. GCD的底层依然是用线程实现,不过这样可以让程序员不用关注实现的细节. GCD中的队列称为dispatch queue,它可以保证先进来的任务先得到执行通过它能够大大简化多线程编程.工程师只要将要执行的任务(执行代码块)放入队列中,GCD将会为需要执行的任务创建

iOS开发之再探多线程编程:Grand Central Dispatch详解

之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD的使用方式.GCD的历史以及好处在此就不做过多的赘述了.本篇博客会通过一系列的实例来好好的总结一下GCD.GCD在iOS开发中还是比较重要的,使用场景也是非常多的,处理一些比较耗时的任务时基本上都会使用到GCD, 在使用是我们也要主要一些线程安全也死锁的东西. 本篇博客中对iOS中的GCD技术进行了较为全面的总结,下方模拟器的截图就是我们今天要介

GCD介绍(三): Dispatch Sources

何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象.当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中. 说的貌似有点不清不楚.我们到底讨论哪些事件类型? 下面是GCD 10.6.0版本支持的事件: Mach port send right state changes. Mach port receive right state changes. External process state chang

Grand Central Dispatch(GCD)

一.Grand Central Dispatch(GCD)概要 1.什么是GCD Grand Central Dispatch(GCD)是异步执行任务的技术之一. GCD用我们难以置信的非常简洁的记述方法,实现了极为复杂繁琐的多线程编程. 例如: dispatch_async(queue, ^{ //长时间处理 //例如AR用动画识别 //例如数据库访问 //长时间处理结束,主线程使用该处理结果 dispatch_async( dispatch_get_main_queue(), ^{ //只在

iOS 并行编程:GCD Dispatch Sources

1 简介 dispatch source是一种用于处理事件的数据类型,这些被处理的事件为操作系统中的底层级别.Grand Central Dispatch(GCD)支持如下的dispatch sources类型: Timer dispatch sources:定时器类型,能够产生周期性的通知事件: Signal dispatch sources:信号类型,当UNIX信号到底时,能够通知应用程序: Descriptor sources:文件描述符类型,处理UNIX的文件或socket描述符,如: