多线程 ——NSThread

原创 2015年11月20日 22:06:33
  • 先看一下线程的状态
    线程的状态

  • 学习多线程的目的:就将耗时操作放到子线程中去执行。
  • [NSThread currentThread] 获得当前方法执行的线程对象
  • 通过number来判断当前线程是主线程还是子线程
  • 提示:不要纠结这个number的值是多少
  • 只要number == 1,则代表是主线程
  • number != 1,则是子线程,这个值是由CPU决定,

  • 创建线程方法一:
- (void)threadDemo1 {
    // 创建线程 -- 仅仅是在内存中创建了一个线程对象,并没有开始执行指定方法
    NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(longOperation:) object:@"alloc"];

    // 开始执行
    [thread start];
}


- (void)longOperation:(id)param{
    NSLog(@"%@---%@",param,[NSThread currentThread]);
}

  • 创建线程方法二:

- (void)threadDemo2 {
    // 创建线程
    // 默认自动开启
    [NSThread detachNewThreadSelector:@selector(longOperation:) toTarget:self withObject:@"detach"];
}

  • 创建线程方法三:
- (void)threadDemo3{
    // 隐式在后台开启线程执行指定的方法。
    // 任何 NSObject对象都可以调用该方法,在后台线程中执行对应的方法
    [self performSelectorInBackground:@selector(longOperation:) withObject:@"performSelector"];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS多线程开发——NSThread浅析

在IOS开发中,多线程的实现方式主要有三种,NSThread、NSOperation和GCD,我前面博客中对NSOperation和GCD有了较为详细的实现,可以参考《iOS多线程开发——NSOper...

iPhone开发【十五】多线程开发之NSThread——异步下载图片

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8220819  作者:张燕广 实现的功能:1)演示多线程NSTh...

iPhone开发【十四】多线程开发之NSThread——子线程模拟耗时操作

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8213964  作者:张燕广 实现的功能:1)演示多线程开发。2...

多线程——NSThread

目录: 基础使用 线程的状态 原子性和非原子性 线程间通信 一、基础使用 1、创建和启动线程一个NSThread对象就代表一条线程创建、启动线程 NSThread *thread = [[NSThr...

iOS多线程学习(2)——NSThread和NSOperation

上一篇  iOS多线程学习(1)——GCD 我们初步介绍了一下多线程和使用GCD来实现多线程。上次我们也提及,iOS使用多线程除了GCD之外,还有NSThread和NSOperation。这也是我...
  • Yich_i
  • Yich_i
  • 2015年01月30日 10:37
  • 363

多线程NSThread的简单创建和使用——创建线程的几种方式

一个NSThread对象就代表一条线程。 创建、启动线程 NSThread *thread = [[NSThread alloc] initWithTarget:self selector: @sel...

iOS开发之多线程——NSThread、NSOperation、GCD

一、概述 1、NSThread 优点:轻量级,使用简单; 缺点:需要自己管理线程的生命周期、线程同步,线程同步时对数据加锁会造成系统额外的开销。且难以控制线程的执行顺序和并发数量。 使用方法: ①、类...

iOS多线程开发——NSThread的简单运用

前段时间写了NSOperation,GCD,最后肯定不能拉下NSThread。毕竟既然学了iOS,该了解的总得都了解的。 介绍NSThread相对于GCG和NSOperation来说更加轻量级。毕竟从...

iOS之多线程——概念、pthread、NSThread、GCD

1.基本概念 1.1 进程进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。 1.2 线程 (1)基本概念1个进程要想执行任务,必须得有线程(每...

iOS开发——多线程NSThread

1.创建和启动线程 一个NSThread对象就代表一条线程 创建、启动线程 NSThread *thread = [[NSThread alloc] initWithTarget:self sel...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多线程 ——NSThread
举报原因:
原因补充:

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