*********** #import "HMViewController.h" @interface HMViewController () <UITableViewDelegate> @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end @implementation HMViewController - (void)viewDidLoad { [super viewDidLoad]; } -…
******HMSingleton-ARC.h // .h文件 #define HMSingletonH(name) + (instancetype)shared##name; // .m文件 #define HMSingletonM(name) \ static id _instance; \ \ + (id)allocWithZone:(struct _NSZone *)zone \ { \ static dispatch_once_t onceToken; \ dispatch_once(…
********* // 2D绘图 Quartz2D // 合并图片 -- 水印 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.队列组 dispatch_group_t group = dispatch_group_create(); dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,…
********** #import "HMViewController.h" #import "HMImageDownloader.h" @interface HMViewController () //@property (nonatomic, strong) HMImageDownloader *downloader; @end @implementation HMViewController - (void)viewDidLoad { [super view…
**********延时执行 #import "HMViewController.h" @interface HMViewController () @end @implementation HMViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)touche…
OS X 和iOS 中的多线程技术(下) 上篇文章中介绍了 pthread 和 NSThread 两种多线程的方式,本文将继续介绍 GCD 和 NSOperation 这两种方式.. 1.GCD 1.1 什么是GCD GCD 全称 Grand Central Dispatch,可译为"牛逼的中枢调度器" GCD 基于纯 C 语言,内部封装了强大的函数库 1.2 使用 GCD 有什么优势 GCD 是苹果公司为多核的并行运算提出的解决方案 GCD 会自动利用更多的CPU内核 (如 二核 ,…
简介 在软件开发中,多线程编程技术被广泛应用,相信多线程任务对我们来说已经不再陌生了.有了多线程技术,我们可以同做多个事情,而不是一个一个任务地进行.比如:前端和后台作交互.大任务(需要耗费一定的时间和资源)等等.也就是说,我们可以使用线程把占据时间长的任务放到后台中处理,而不影响到用户的使用. 线程间通讯 有一个非常重要的队列,就是主队列.在这个队列中处理多点触控及所有与UI相关操作等等.它非常特殊,原因有两点.一是我们绝对不想它阻塞,我们不会将需要执行很长时间的任务放在主队列上执行.二是我们…
pthread 实现多线程操作 代码实现: void * run(void *param) {    for (NSInteger i = 0; i < 1000; i++) {        NSLog(@"---buttonclick---%zd---%@", i, [NSThread currentThread]);    }    return NULL; } @implementation ViewController - (IBAction)clickButton:(…
IOS编程之多线程 目录 概述——对多线程的理解 IOS中实现多线程的三种方式 NSThread 线程创建 线程的同步与锁 线程间的交互 线程的操作方法 NSOperation and NSOperationQueue GCD(Grand Central Dispatch) 线程间的通信 解决多个线程同时访问同一个内存资源的问题 多线程的运用 卖火车票 对多线程底层的可能实现的猜测 概述——对多线程的理解 为了避免在主线程中执行一些任务时可能会出现异常而卡死,我们可以把这些任务放到新的线程中进行…
OS X 和iOS 中的多线程技术(上) 本文梳理了OS X 和iOS 系统中提供的多线程技术.并且对这些技术的使用给出了一些实用的建议. 多线程的目的:通过并发执行提高 CPU 的使用效率,进而提供程序运行效率. 1.线程和进程 进程 什么是进程 进程是指在计算机系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行中其专用且受保护的内存空间内 比如同时打开 Xcode .Safari ,系统就会分别启动两个进程 通过活动监视器可以查看Mac系统中所开启的进程 线程 什么是线程 一…