多线程笔记

原创 2015年11月21日 19:16:29

–GCD
基本思想

GCD有5个不同的队列:运行在主线程中的主队列、3个优先级不同的后台队列、1个优先级更低的后台队列。
自定义队列:并行队列 和 串行队列。在自定义队列中,被调度的所有block最终都将被放入到系统的全局队列和线程池中。

串行、同步
串行、异步
并行、同步
并行、异步

在开发中,要永远使用DISPATCH_QUEUE_PRIORITY_DEFAULT。
串行队列、异步任务是最安全的一个多线程选择。

任务嵌套时,同步任务中包含同步任务,会导致阻塞。

—-NSOperation & NSOperationQueue
从本质上看,操作队列的性能比GCD略低,不过大多数情况下这种负面影响可以忽略不计。操作队列是并发编程的首选。
(实际开发中,由于习惯的原因,一般都使用GCD而不是操作队列。)

-—多线程bloc中的self
只有self直接强引用block,才会出现循环引用。
block的管理 及 线程的创建和销毁都是个有队列负责的,直接在block中使用self是可以的。

-—多线程中的资源共享
互斥锁(@synchronized):性能消耗非常大,苹果官方不建议使用。
在实际开发中,尽量不要抢夺资源。

处于性能的考虑,UIKit中的大部分类是线程不安全的,因此,苹果官方要求,所有更新UI的操作都在主线程中执行。

多线程等一些笔记

  • 2013年11月15日 00:32
  • 4KB
  • 下载

Java多线程学习笔记(一)

一、线程和进程 1、线程是进程的组成部分,一个进程可以有多个线程,一个线程必须有一个父进程。线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但是不拥有系统资源。它与父进程的其它线程共享进程...

线程笔记(多线程,异常)

  • 2009年09月07日 16:21
  • 29KB
  • 下载

Linux笔记 10 -- 多线程

Linux多线程 一、优点 使用多线程的理由之一是: 和进程相比,它是一种非常“节俭”的多任务操作方式。在Linux系统下,启动一个新 的进程必须分配给它独立的地址空间,建立众多的数据表来维护...

java多线程代码笔记

  • 2017年06月07日 11:15
  • 105KB
  • 下载

UNIX多线程学习笔记

  • 2011年08月15日 13:46
  • 80KB
  • 下载

Java 多线程 学习笔记

众所周知, Java 实现多线程有2个方法1继承Thread 类, 重写run方法,并使用 start 来启动线程 2实现Runnable 接口, 实现run 方法, 并用new Thread(Run...

java多线程笔记

  • 2015年12月10日 20:49
  • 940KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多线程笔记
举报原因:
原因补充:

(最多只允许输入30个字)