线程的同步和异步的区别?iOS中如何实现多线程的同步?
1.同步就是说多个任务之间是有先后关系的,一个任务需要等待另一个任务执行完毕后才能执行;
2.异步就是多个任务之间没有先后关系,不需要相互等待,各做各的事。
3.同步的话指的是多线程同时操作一个数据 这个时候需要对数据进行保护:原子操作(atomic)、加锁(NSLock、NSRecursive、NSconditionLock)、@synchronized,这个保护就是线程的同步。用GCD中的串行队列来解释多线程的同步,也就是队列中的任务为串行,它们各自对相邻的任务有依赖行,如果任务1不完成,那么任务2就不会开始,这就是同步。