美文网首页
00多线程

00多线程

作者: i爱吃土豆的猫 | 来源:发表于2016-07-26 01:15 被阅读0次

基本知识点概述

核心思想:
将耗时的操作放在后台子线程执行,避免卡死主线程屏幕
利用多核, 适当的提高CPU 的性能

NSThead的三种创建的方式, 对象, 类 基于NSObject的分类
NSThread 靠 NSObject 的分类方法

互斥锁, 线程同步技术 ,避免资源的恶意抢夺
牺牲了性能, 提高了安全性
三个关键词:
atomic
sychonizied
队列

iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。

一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法
iOS支持多个层次的多线程编程,层次越高的抽象程度越高,使用也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程方法:

1.Thread :是三种方法里面相对轻量级的,但需要管理线程的生命周期、同步、加锁问题,这会导致一定的性能开销

2.NSOperation:是基于OC实现的,NSOperation以面向对象的方式封装了需要执行的操作,不必关心线程管理、同步等问题。NSOperation是一个抽象基类,iOS提供了两种默认实现:NSInvocationOperation和NSBlockOperation,当然也可以自定义NSOperation

3.Grand Central Dispatch(简称GCD,iOS4才开始支持):提供了一些新特性、运行库来支持多核并行编程,它的关注点更高:如何在多个cpu上提升效率

相关文章

  • 2019.03.21总结

    09:00~12:00上午课程,多线程 14:00-15:25 多线程 Thread类的常用方法 【重点】 ...

  • 00多线程

    基本知识点概述 核心思想:将耗时的操作放在后台子线程执行,避免卡死主线程屏幕利用多核, 适当的提高CPU 的性能 ...

  • 4 多线程00

    一 多线程的创建 1、thread/runnablethread:继承Thread类runnable:实现Runn...

  • Java多线程00

    一.创建线程和启动1.继承Thread类创建线程类 定义一个继承Thread类的子类,并重写该类的run()方法;...

  • TensorFlow 多线程输入数据处理框架

    title: TensorFlow 多线程输入数据处理框架date: 2017-10-30 17:00:00tag...

  • 美团Android一面面经

    一面时间:11:00-12:00(1h) 一、自我介绍 二、操作系统 1、进程和线程的区别 2、线程池 3、多线程...

  • 【Python 学习笔记】多进程爬虫

    0x00 前言 前段时间学习了多线程,但在实际的情况中对于多线程的速度实在不满意,所以今天就来学学多进程分布式爬虫...

  • JDK多线程基础笔记(1):线程的简单实现与管理

    title: JDK多线程基础笔记(1):线程的简单实现与管理 date: 2014-6-29 8:00 com...

  • webdirscan

    0×00 介绍 目录扫描小工具 python环境 多线程 操作简单 好上手 0×01 下载||手撸 下载地址:链接...

  • 00:00-00:00

    在一天又一天的等待着, 我没有绝对的伤悲。 只有相对而己的心, 这是一天里的故事会里。 在一时又一时的流淌着, 我...

网友评论

      本文标题:00多线程

      本文链接:https://www.haomeiwen.com/subject/ekrnjttx.html