--------多线程
文章平均质量分 94
Gaos的BLOG
Had I not seen the Sun
I could have borne the shade
But Light a newer Wilderness
My Wilderness has made
展开
-
iOS开发——网络编程OC篇&GCDAsyncSocket编程
GCDAsyncSocket编程 同上一篇文章一样,这里也是使用Socket实现一个聊天室,但是这里使用的是一个常用的框架实现的:GCDAsyncSocket 一:导入这个框架 二:声明这个Socket的成员变量,定义一个消息数组 1 @interface ViewController (){ 2 3 GCDAsy转载 2015-07-29 17:59:25 · 1132 阅读 · 0 评论 -
GCD博爱
// // DemoVC13.m // BABaseProject // // Created by 博爱 on 16/6/23. // Copyright © 2016年 博爱之家. All rights reserved. //#import "DemoVC13.h"@interface DemoVC13 ()@end@implementation DemoVC13- (void)vie转载 2017-10-10 09:48:29 · 620 阅读 · 0 评论 -
IOS多线程[总结]
概念并发队列:1.可以让多个任务并发(同时)执行(自动开启多个线程同时执行任务) 2.并发功能只有在异步(dispatch_async)函数下才有效 串行队列: 让任务一个接着一个的执行 (一个任务执行完毕再执行下一个任务) ### 队列 自己创建的并发队列: 同步函数(没有开新线程能力) 顺序执行 没有开启新线程 自己创建的并发队列(效果等同于全局原创 2017-07-06 11:36:36 · 281 阅读 · 0 评论 -
线程
1.派生线程类 Thread 的子类,并在子类中重写 run()方法。Thread 子类的实例对象是 一个线程对象,并且该线程有专门定制的线程 run()方法,启动线程后就执行子类中 重写的 run()方法。 2.实现 Runnable 接口并重新定义 run()方法。先定义一个实现 Runnable()接口的类,在 该类中定义 run()方法,然后创建新的线程类对象,并以该对象作为 Th原创 2017-07-05 16:33:38 · 236 阅读 · 0 评论 -
iOS中 GCD-Grand Central Dispath 多线程 UI_21
GCD:Grand Central Dispath "牛逼的中枢调度器";是纯C语言编写的,提供了很多比较强大的函数 GCD:优势 1.目前是苹果主推的线程管理方式 2.它会自动的利用更多的CPU资源(双核,四核) 3.它会自动的管理线程的生命周期(线程的创建/调度/销毁); 4.程序员只需要告诉GCD自己想要执行的哪些任务,不需要写一行线程管理的代码转载 2017-03-17 18:12:17 · 301 阅读 · 0 评论 -
五个案例让你明白GCD死锁
死锁一直都是在使用多线程时,需要注意的一个问题。以前对同步、异步,串行、并行只有一个模糊的概念,想想也是时候整理一下了。再看看之前的博客,已经很久没有干货了【说得好像之前有干货一样】,所以,这篇博客,我尽最大努力,也借鉴了很多其他博客中的例子,来讲解GCD死锁问题。 环境信息: Mac OS X 10.10.5 Xcode 6.4 iOS 8.4 正文 串转载 2017-03-22 10:30:04 · 293 阅读 · 0 评论 -
NSOprationQueue 与 GCD 的区别与选用
GCD 技术是一个轻量的,底层实现隐藏的神奇技术,我们能够通过GCD和block轻松实现多线程编程,有时候,GCD相比其他系统提供的多线程方法更加有效,当然,有时候GCD不是最佳选择,另一个多线程编程的技术 NSOprationQueue 让我们能够将后台线程以队列方式依序执行,并提供更多操作的入口,这和 GCD 的实现有些类似。 这种类似不是一个巧合,在早期,MacOX 与 iOS 的程转载 2016-06-16 21:09:08 · 309 阅读 · 0 评论 -
Bison眼中的iOS开发多线程是这样的(三)
前面在《Bison眼中的iOS开发多线程是这样的(二)》一文中讲完了多线程的NSThread,不难发现这种方式的多线程实现起来非常的复杂,为了简化多线程的开发,iOS提供了GCD来实现多线程。GCD有俩个核心的概念: 队列:队列负责管理开发者提交的任务,GCD队列始终以先进先出的方式来处理任务,但由于任务的执行时间并不相同,因此先处理的任务并不一定先结束。队列既可是串行队列,也可是并转载 2016-04-06 11:49:34 · 379 阅读 · 0 评论 -
Bison眼中的iOS开发多线程是这样的(二)
"多线程很容易突然出现“错误情况”,这是由于系统的线程调度具有一定的随机性造成的。不过,即使程序偶然出现问题,那也是由于编程不当所引起的。当使用多个线程来访问同一个数据时,很容易“偶然”出现线程安全问题。" 前面在《Bison眼中的iOS开发多线程是这样的(一)》一文中讲到多线程的优先级,接下来我什么讲讲线程同步与线程通信 多线程很容易突然出现“错误情况”,这是由于系统的线程调度具有一转载 2016-04-06 11:48:10 · 337 阅读 · 0 评论 -
Bison眼中的iOS开发多线程是这样的(一)
"对于单线程的应用而言,整个应用只是一个顺序执行流,当执行到某个耗时操作时,主线程就会被阻塞,应用就卡在那无法继续执行,因此单线程的应用体验度很低,总感觉像手机卡似得,就像一条小河北阻塞了,只有打通了才能继续有水流到下一个地方放一样。而多线程则更像一条河有无数的分支,这条阻塞了还有其他的分支在运行,影响不到大局。" 不知道大家面试iOS软件工程师的时候有没有遇到问多线程的?反正我遇到的还转载 2016-04-06 11:44:20 · 317 阅读 · 0 评论 -
iOS开发系列--并行开发其实很容易--多线程
iOS开发系列--并行开发其实很容易 2014-09-20 23:34 by KenshinCui, 33874 阅读, 28 评论, 收藏, 编辑 --多线程开发 概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按转载 2015-07-16 18:12:39 · 455 阅读 · 0 评论 -
GCDQueue 使用
有幸看到封装GCDQueue的文章,这里说一下他的使用方法, /***********异步线程执行耗时任务,主线程更新UI***************/ /*1.*/ [[GCDQueue globalQueue] execute:^{ //异步线程 [[GCDQueue mainQueue]execute:^{ ...原创 2018-09-06 19:48:19 · 401 阅读 · 0 评论