随笔分类 -  多线程

摘要:多线程实现多图片下载 在没有步入正文之前先给大家展示下效果图,如果大家觉得很满意请继续往下阅读全文。 大家可以看到这个界面很简单,其实就是UITableView的布局,但是难点是在于如何从网上下载这些图片,下载之后应如何进行存储! 我们一步一步进行解析,先从单线程(主线程)进行多图片下载我们布局上的 阅读全文
posted @ 2016-11-03 19:18 李洪强 阅读(230) 评论(0) 推荐(0) 编辑
摘要:前言 1.上一讲简单介绍了NSThread的使用,虽然也可以实现多线程编程,但是需要我们去管理线程的生命周期,还要考虑线程同步、加锁问题,造成一些性能上的开销。我们也可以配合使用NSOperation和NSOperationQueue实现多线程编程,实现步骤大致是这样的: 1> 先将需要执行的操作封 阅读全文
posted @ 2016-07-06 21:31 李洪强 阅读(167) 评论(0) 推荐(0) 编辑
摘要:前言 每个iOS应用程序都有个专门用来更新显示UI界面、处理用户触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法。 i 阅读全文
posted @ 2016-07-05 22:40 李洪强 阅读(191) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—自定义NSOperation 一、实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UITableViewController。 2.处理storyboard中得界面,如下: 3.根据pl 阅读全文
posted @ 2016-07-01 09:48 李洪强 阅读(147) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—NSOperation简单介绍 一、NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: (1)先 阅读全文
posted @ 2016-06-29 21:02 李洪强 阅读(140) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—GCD的常见用法 一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) withObject:nil afterDelay:2.0]; // 2秒后再调用self的run 阅读全文
posted @ 2016-06-28 10:01 李洪强 阅读(149) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—GCD的基本使用 一、主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行。 提示:如果把任务放到主队列中进行处理,那么不论处理函数是异步的还是同步的都不会开启新的线程。 获取主队列的方式: dispatch 阅读全文
posted @ 2016-06-27 18:03 李洪强 阅读(211) 评论(0) 推荐(0) 编辑
摘要:// // SetViewController.m // dfhx // // Created by dfhx_iMac_001 on 16/4/5. // Copyright © 2016年 luoyun. All rights reserved. // #import "SetViewContr 阅读全文
posted @ 2016-06-25 23:20 李洪强 阅读(300) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—线程的状态 一、简单介绍 线程的创建: self.thread=[[NSThread alloc]initWithTarget:self selector:@selector(test) object:nil]; 说明:创建线程有多种方式,这里不做过多的介绍。 线程的开启: [s 阅读全文
posted @ 2016-06-22 22:17 李洪强 阅读(225) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—GCD介绍 一、简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) G 阅读全文
posted @ 2016-06-20 23:33 李洪强 阅读(242) 评论(0) 推荐(0) 编辑
摘要:SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能: 提供UIImageView的一个分类,以支持网络图片的加载与缓存管理 一个异步的图片加载器 一个异步的内存+磁盘图片缓存 支持GIF图片 支持WebP图片 后 阅读全文
posted @ 2016-06-20 23:15 李洪强 阅读(419) 评论(0) 推荐(0) 编辑
摘要:NSOperation综合案例: 1.项目简介/UI 搭建 */ 重点: 1.搭建 UI 界面; 2.构建数据模型; 3.缓存开发中需要用到的数据模型; 4.注意在懒加载方法中,不要出现点语法. { 1. 搭建 UI 界面; // 导航控制器 + 表格视图控制器(根控制器) 2. 构建数据模型; / 阅读全文
posted @ 2016-06-20 23:11 李洪强 阅读(456) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—线程间的通信 一、简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 线程间通信常用方法 - (void)performSelector 阅读全文
posted @ 2016-06-20 10:47 李洪强 阅读(195) 评论(0) 推荐(0) 编辑
摘要:iOS开发多线程篇—线程安全 一、多线程的安全隐患 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一个变量、同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 示例一: 示例二: 问题代码: 打印结果: 二、安全隐患分 阅读全文
posted @ 2016-06-19 17:57 李洪强 阅读(206) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示