@synchronized(self)的用法: @synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。 例如:一个电影院,有3个售票员。一场电影的总数 ...
分类:
移动开发 时间:
2016-06-08 15:49:18
阅读次数:
215
转载自 http://yulingtianxia.com/blog/2015/11/01/More-than-you-want-to-know-about-synchronized/ 如果你已经使用 Objective-C 编写过任何并发程序,那么想必是见过 @synchronized 这货了。 @ ...
分类:
移动开发 时间:
2016-05-16 21:52:47
阅读次数:
220
呼~明天有一家面试,不知道为啥,有点小紧张... 首先是线程和进程的联系: 线程和进程都是由操作系统所负责的程序运行的基本单元,系统利用该基本单元实现对应用的并发性。 接下来就是线程和进程的区别: 线程和进程最大的区别就是它们是操作系统的两种资源管理方式,进程有独立的地址空间,一个进程奔溃后,在保护 ...
分类:
移动开发 时间:
2016-04-26 14:02:17
阅读次数:
155
在iOS开发线程操作时,一般方法名决定是否开启新线程(async,sync),队列类型(全局队列,串行队列)决定开启多少条线程 1.快速线程调用 *开启后台线程执行任务 [self performSelectorInBackground:@selector(test) withObject:nil] ...
分类:
移动开发 时间:
2016-04-09 13:41:49
阅读次数:
218
在iOS开发线程操作时,一般方法名决定是否开启新线程(async,sync),队列类型(全局队列,串行队列)决定开启多少条线程 1.快速线程调用 *开启后台线程执行任务 [self performSelectorInBackground:@selector(test) withObject:nil] ...
分类:
移动开发 时间:
2016-04-09 13:41:20
阅读次数:
258
此文章将侧重于编写线程安全类和使用Grand Central Displatch(GCD)时的实用的技巧,设计模式,以及反模式。
线程安全
Apple的框架
首先让我们来看一下Apple的框架。一般情况下,除非提前声明,否则大多数类默认不是线程安全的。一些是我们所期望的,但是另一些却会相当有趣。
其中甚至有经验的iOS/Mac开发人员常会犯的错误是在后台线程中访问部分UIK...
分类:
移动开发 时间:
2016-04-08 15:12:51
阅读次数:
248
主线程的作用 (在主线程中才能设置)显示/刷新UI界面处理UI事件(比如点击事件、滚动事件、拖拽事件);主线程的使用注意别将比较耗时的操作放到主线程中。耗时操作会卡住主线程。影响体验。[NSThread currentThread]获得当前线程。打印线程。num属性显示有多少条线程。将耗时操作放在子...
分类:
移动开发 时间:
2016-01-07 19:55:36
阅读次数:
201
一、什么是线程:1、1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)2、线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行3、1个线程中任务的执行是串行的,如果要在1各线程中执行多个任务,那么只能一个一个地按顺序执行这些任务,也就是说,在同一时间内,1个线程只能执行1...
分类:
移动开发 时间:
2015-12-24 23:44:44
阅读次数:
227
1.NSThread官方的描述AnNSThreadobject controls a thread of execution. Use this class when you want to have an Objective-C method run in its own thread of ex...
分类:
移动开发 时间:
2015-12-20 00:40:14
阅读次数:
271
线程同步与线程通信多线程是有趣的事情,它很容易突然出现”错误情况”,这是由于系统的线程调度具有一定的随机性造成的.不过,即使程序偶然出现问题,那么是由于编程不当所引起的.当使用多个线程来访问同一个数据时,很容易”偶然”出现线程安全问题.线程安全问题关于线程安全问题,有一个经典的问题:银行取钱的问题....
分类:
移动开发 时间:
2015-11-30 20:18:41
阅读次数:
255