多线程都有哪些实现方式并简述各自的优缺点

(1)NSThread:轻量级的⽅方式(具有很少的规则和惯例,依赖的东⻄西少),⽐比较底层和原始。需要⾃自⼰己⼿手动管理线程的⽣生命周期,同步的时候需要加锁来控制线程执⾏行顺序,会增加系统开销。不推荐使⽤用。

(2)NSOperationQueue:⼀一个NSoperation对象可以通过调⽤用start⽅方法执⾏行任务,默认是同步执⾏行;也可以将NSOperation添加到⼀一个NSOperationQueue中执⾏行,这时是异步的。通过这个⽅方式开启线程后,可以中途停⽌止、继续、取消等操作。如果想控制线程执⾏行顺序,可以通过添加依赖完成。优点:不需要关⼼心线程管理,数据同步的事情,可以把精⼒力放在⾃自⼰己需要执⾏行的操作上。对于上传、下载这种复杂的操作,推荐使⽤用。

(3)GCD:苹果提供的,异步执⾏行。提⾼高了代码执⾏行效率和多核的利⽤用率,性能更好。对于复杂的不推荐使⽤用,但是简单的提交数据推荐使⽤用。

你可能感兴趣的:(多线程都有哪些实现方式并简述各自的优缺点)