线程 NSThread 多线程 简单翻译

转载 2015年07月09日 16:56:15
线程与进程
进程
是一个活动的程序,一个容器
是系统资源管理的最小单位
切换代价较高

线程
是在进程容器中运行,实际工作的代码
是程序执行的最小单位
切换代价较低(由于线程是在同一块内存中进行切换的)

一个NSThread对象在程序中控制一个线程,当你有很多任务需要执行,但又不想阻塞主线程时,
多线程将会很有用。运用多线程可以同时执行多个任务。

NSThread的方法
//初始化
1、- (id)init //这个是NSThread的指定初始化方法
2、- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
初始化一个线程,应该注意的是这个SEL只能有一个参数,并且选择的方法不能有返回值,
需要注意的是这个方法只是创建了一个线程,并没有开始这个线程,要用stat方法去开始线程

3、+ (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument
创建并开始一个线程。
4、- (void)start //开始一个线程
5、+ (void)sleepUntilDate:(NSDate *)aDate
阻塞当前线程,直到指定时间
6、+ (void)sleepForTimeInterval:(NSTimeInterval)ti
使线程睡眠一段时间

//判断线程状态
7、- (BOOL)isExecuting //判断线程是否正在执行
8、- (BOOL)isCancelled //判断线程是否已经取消
9、- (BOOL)isFinished //判断线程是否执行完
10、+ (BOOL)isMainThread //判断当前线程是不是主线程
11、+ (BOOL)isMultiThreaded //判断应用程序是否是多线程的
12、- (BOOL)isMainThread //判断制定的对象是否是主线程


13、+ (NSThread *)mainThread //返回一个主线程对象
14、+ (NSThread *)currentThread //返回当前的线程
15、+ (NSArray *)callStackReturnAddresses
返回的是这个线程在栈中所占的地址所组成的数组
16、+ (NSArray *)callStackSymbols //返回栈空间的符号

 

//线程属性

17、– threadDictionary //返回线程对象的字典
18、– name //返回线程名字
19、– setName: //设置线程名字
20、– stackSize //返回线程所占栈的空间大小
21、– setStackSize: //设置线程所占栈的空间大小


//线程优先权
22、+ threadPriority //返回当前线程的优先权,其实返回的是一个double型数字,
//从0.0 到1.0 其中1.0最高
23、– threadPriority //返回当前线程对象的优先权
24、+ setThreadPriority: //设置当前线程的有限权

25、– setThreadPriority: //同上

多线程编程1 - NSThread

每个iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将...
  • q199109106q
  • q199109106q
  • 2013年02月02日 20:37
  • 25819

iOS开发中关于多线程的问题(NSOperationQueue,NSThread,GCD)

1.多线程的优点和缺点分别是什么? 答:优点:1、将耗时较长的操作(网络请求、图片下载、音频下载、数据库访问等)放在子线程中执行,可以防止主线程的卡死;2、可以发挥多核处理的优势,提升cpu的使用率...
  • X_codeWKH
  • X_codeWKH
  • 2016年04月06日 20:08
  • 1856

iOS多线程编程技术NSThread、Cocoa NSOperation、GCD三者使用详解

简介 iOS有三种多线程编程的技术,分别是: (一)NSThread (二)Cocoa NSOperation (三)GCD(全称:Grand Central Dispatch)...
  • lgm252008
  • lgm252008
  • 2014年10月13日 09:18
  • 14321

控制线程(NSThread)和运行时循环(NSRunLoop)的退出

原文地址:http://shaheengandhi.com/controlling-thread-exit/ 这是讲iOS的线程的文章,下面的内容,自己都惨不忍睹啊,哈哈,翻译一下文章,尽量止步吧...
  • wzf906819823
  • wzf906819823
  • 2015年08月02日 15:15
  • 2701

iOS多线程之NSThread的使用

iOS 多线程之NSThread
  • qq_26790617
  • qq_26790617
  • 2016年11月17日 17:21
  • 923

NSThread 多线程使用,以及NSThread 停止

[NSThread-多线程浅析  (2013-03-30 22:48:37) 转载▼ 标签:  nsthread   nsthread的使用   x...
  • qq_27740983
  • qq_27740983
  • 2015年11月27日 17:28
  • 1210

使用NSThread创建线程

大家都明白,创建线程的目的就是让程序同时做多件事情,尤其是对于需要长时间执行的操作,让用户等着他完成是不科学的。一般处理模式是,与用户息息相关的界面显示使用主线程,与界面相关的信息处理及逻辑处理我们会...
  • qianlima210210
  • qianlima210210
  • 2014年01月07日 09:44
  • 1483

QT线程QThread的简单使用实例

QT线程QThread的简单使用实例   , 主要介绍以下几点: 1.线程调用start()函数后会自己自动去调用run()函数,一般线程run()函数继承父类重写,即为线程的主要功能执行函数快。...
  • lvmengzou
  • lvmengzou
  • 2016年03月07日 22:03
  • 916

Objective-C 线程开发总结

NSThread, NSOperation, GCD 1>无论使用哪种方法进行多线程开发,每个线程启动后并不一定立即执行相应的操作,具体什么时候由系统调度(CPU空闲时就会执行)。 2>更...
  • Roger_Jin
  • Roger_Jin
  • 2015年04月27日 11:22
  • 1423

服务与多线程-简单音乐播放器

服务与多线程-简单音乐播放器要实现简单的音乐播放器,总是离不开服务和线程。因为服务可以让我们的程序在后台继续播放音乐, 而音乐播放器总是少不了进度条,进度条随着音乐播放进度的实时更新又需要用子线程更新...
  • u012925008
  • u012925008
  • 2015年11月21日 21:51
  • 1321
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程 NSThread 多线程 简单翻译
举报原因:
原因补充:

(最多只允许输入30个字)