线程基础(NSThread)

作者: 追逐_chase | 来源:发表于2016-12-30 13:57 被阅读35次

创建线程

对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。

-初始化主线程的方法
 //类方法
  [NSThread detachNewThreadSelector:@selector(方法) toTarget:self withObject:@"对象"];  
 //实例可以拿到线程对象,方便以后终止线程
 NSThread *thread = [[XMGThread alloc] initWithTarget:self selector:@selector(run:) object:@"jack"];
-隐式调用---线程之间的通信

一般是通过NSObject的Category方法调用,方法如下:

 //在主线程中运行方法,wait表示是否阻塞这个方法的调用,如果为YES则等待主线程中运行方法结束。一般可用于在子线程中调用UI方法
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
//在指定线程中执行,但该线程必须具备run loop。
- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(id)arg waitUntilDone:(BOOL)wait;
//隐含产生新线程。
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg;
-NSThread方法中一些常用的方法

  • +(NSThread *)currentThread; //获得当前线程
  • +(void)sleepForTimeInterval:(NSTimeInterval)ti; //线程休眠
  • +(NSThread *)mainThread; //主线程,亦即UI线程了
  • -(BOOL)isMainThread; +(BOOL)isMainThread; //当前线程是否主线程
  • -(BOOL)isExecuting; //线程是否正在运行
  • -(BOOL)isFinished; //线程是否已结束

相关文章

  • OC多线程分享pthread&NSThread

    一.多线程基础{ 二.pthread{ 三.NSThread{

  • NSThread三种创建线程的方法

    对耗时操作的理解 NSThread基础 线程控制 线程安全 线程间同行

  • 线程基础(NSThread)

    创建线程 对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且...

  • iOS基础-- GCD基础总结

    关于多线程(NSThread、NSOperation、NSOperationQueue)基础总结, 参考文章 回顾...

  • 7.2 多线程-NSThreed

    多线程-NSThreed.png NSThread案列 NSThread线程之间的通讯 NSThread线程的优先...

  • iOS多线程篇:NSThread

    iOS多线程篇:NSThread iOS多线程篇:NSThread

  • NSThread 线程基础问题

    首先介绍一下关于线程的两个关键词进程: 进程是进程实体的运行过程.是系统进行资源分配和调度的一个独立单位线程: 线...

  • iOS 多线程

    iOS使用线程的方式 pthread NSThread GCD NSOperation NSThread线程的创建...

  • iOS多线程之NSThread

    什么是NSThread NSThread是一种轻量级多线程,一个NSThread对象代表一个线程,需要手动管理线程...

  • iOS多线程--NSThread

    一、NSThread简介 每个NSThread对象对应一个线程,真正最原始的线程。1)优点:NSThread 轻量...

网友评论

    本文标题:线程基础(NSThread)

    本文链接:https://www.haomeiwen.com/subject/gismvttx.html