adolsai's echo - ios多任务多线程
type: channel
link: http://adolsai.com/index.php/tag/ios多任务多线程/
items: Concurrency Programming Guide 5 Dispatch Sources
items: Concurrency Programming Guide 4 Dispatch Queues
items: Concurrency Programming Guide 3 Operation Queues
items: Concurrency Programming Guide 2 Concurrency and Application Design
items: Concurrency Programming Guide 1 Glossary

Concurrency Programming Guide 5 Dispatch Sources
type: item
date: 2015-08-06T02:58:00+00:00

Concurrency Programming Guide 4 Dispatch Queues
type: item
date: 2015-07-30T16:39:00+00:00
description: Dispatch Queues type of Dispatch Queues 类型 描述 限制 Serial 也叫private dispatch queue，串行执行queue上的每一个task。 每一个task都在独立的线程里运行，由dispatch queue统一管理。经常用来控制对特定资源的访问（如临界资源）。 木有限制，你可以创建任意多个的serial dispatch queue，他们之间是并行的。 Concurrent 也叫global diapatch queue，并行执行queue里面的每一个task。每一个task都在独立的线程里运行，由dispatch queue统一管理。并行的数量是动态地，由system当前的资源状态决定。 concurrent dispatch queue有四个，由系统提供，根据优先级别区分为default、low、high、background。 Main dispatch queue 这个diapatch queue在main thread里串行执行task。所以这个queue是关联main thread的run loop的，用来执行dispatch source相关的任务。因为该queue在main thread执行task，所以常用作各任务的同步点 全局唯一的特殊serial dispatch queue [...]

Concurrency Programming Guide 3 Operation Queues
type: item
date: 2015-07-28T11:55:00+00:00
description: Operation Queues 与GCD对比 稍微慢一点点，因为是NSOperation和NSOperationQueue基于GCD的(在Mac OS X v10.6 & iOS 4之后1); Operation Queue可以实现operation的dependency功能，使之在制定的operation完成之后再运行。而且指定线程可以在不同的operation queue里跑; 可以重用、取消、暂停operation; 可以使用KVO，方便监控operation的运行状态; Operation既可以直接调用start方法独立运行也可以add到operation queue里面跑; 可以使用setCompletionBlock:设置一个operation执行完之后的动作; 可以定义operation优先级别setQueuePriority:; [...]

Concurrency Programming Guide 2 Concurrency and Application Design
type: item
date: 2015-07-28T10:02:00+00:00
description: Concurrency and Application Design 关于iOS多线程先看这个： Mac&iOS之多线程 一.线程概述 有些程序是一条直线，起点到终点；有些程序是一个圆，不断循环，直到将它切断。直线的如简单的Hello World，运行打印完,它的生命周期便结束了，像昙花一现那样；圆如操作系统，一直运行直到你关机。 [...]

Concurrency Programming Guide 1 Glossary
type: item
date: 2015-07-28T06:05:00+00:00
description: 术语表 application 我们常说的APP，包含用户互交界面的应用程序 asynchronous design approach 异步设计方法 asynchonous是指让代码跑在别的线程上，而不是发起的线程上。使用多核处理器资源来提高程序的运行效率。 block object 一种C结构体，包含了代码和相关数据。使用block可以很方便的把一段包含数据的代码交给其他线程执行。关于block的具体介绍见 Block Programing Guide [...]