多线程学习:
(
1.NSThread
2.NSOperationQueue
3.GCD
)
1.进程和线程:
进程:app无法独立运行,需要分配内存空间,每个app至少有一个进程,是应用程序的开始(缺点:不能同时执行)
线程:是应用程序运行的最小单元可以多个线程并发同时执行,防止主线程堵塞,增加运行效率。
主线程:又叫UI主线程,程序运行都是在主线程加载,加载视图,但不可加载数据,因为请求网络数据的时间特别长,会出现空白现象(更新UI一定要在主线程中写)
子线程:没法加载UI,UI只在主线程中加载。多个子线程的执行顺序是随机的,并发执行的,同时执行的,他们抢时间片,谁抢到了谁就先执行。
2.NSThread
轻量级的方式;自己管理线程的生命周期,线程同步;线程同步对数据的加锁会有一定的系统开销
线程的创建方法:
- (instancetype)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
实例方法,需要手动调用start方法,可在执行之前设置线程的其他属性
+ (void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argument;
类方法,创建后立即执行。
今天 简单 自学 了解了一下o2o是神马东东:
o2o (online To offline)也称线上线下,线上到线下,是指互联网和线下的商务机会结合,让互联网成为线下交易的前台。举个简单的例子:我用手机在美团上订了一份米仔米线,收到一个二维码,我可以凭借这个码到实体店经专业的设备验证,通过后,即可得到一份米仔米线,价格会比一般直接在实体店购买便宜得多,方便了消费者同时,也使商家省去现金交易这一繁琐环节。其关键就是:网上支付。
PS:最近拜读了很多大牛的博客心得总结,从人家的文中可看出其水平之高,成就之伟,果然人与人之间的差距从来都是点滴积累,你稍微松懈,就会有成百上千的人超越你,你凭什么要求和别人一样高的工资,人家做到的,你做的到吗?快找工作了,心里很虚,没有底,希望最后的这些日子,努力学习专业知识,至少不要被别人撇得太远~加油吧,小宇宙!
PPS:关于网络多线程的demo明天整理好了,一起上传~