美文网首页
Thread 多线程

Thread 多线程

作者: AlexLi_ | 来源:发表于2016-05-17 20:52 被阅读28次

(不介绍 什么是线程、线程和进程的区别、多线程有什么用、什么是串行、什么是并行)

线程方案

  • Pthreads 基于C语言的
  • NSThread
  • GCD
  • NSOperation & NSOperationQueue

Thread

  1. 创建并启动
    Objective-C
//创建线程 【object :线程调用方法传递的参数】
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run:) object:@"Cancer"];
//开启线程
[thread start];

Swift

//创建线程 【object :线程调用方法传递的参数】
let thread = NSThread(target: self, selector: "run:", object: "Cancer")
//启动线程
thread.start()
  1. 创建并自动启动
    Objective-C
//创建并自动启动  【detach使什么分开】
[NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:@"Cancer"];

Swift

//创建并自动启动  【detach使什么分开】
 NSThread.detachNewThreadSelector("run:", toTarget: self, withObject: "Cancer")
Thread还有很多其他的方法
//取消线程
- (void)cancel;
//启动线程
- (void)start;
//判断某个线程的状态的属性
@property (readonly, getter=isExecuting) BOOL executing;
@property (readonly, getter=isFinished) BOOL finished;
@property (readonly, getter=isCancelled) BOOL cancelled;
//设置和获取线程名字
-(void)setName:(NSString *)n;
-(NSString *)name;
//获取当前线程信息
+ (NSThread *)currentThread;
//获取主线程信息
+ (NSThread *)mainThread;
//使当前线程暂停一段时间
+ (void)sleepForTimeInterval:(NSTimeInterval)time;
//暂停到某个时刻
+ (void)sleepUntilDate:(NSDate *)date;

SWIFT
Swift的方法名字和OC的方法名都一样,我就不浪费空间列举出来了。

其实,NSThread 用起来也挺简单的,因为它就那几种方法。同时,我们也只有在一些非常简单的场景才会用 NSThread, 毕竟它还不够智能,不能优雅地处理多线程中的其他高级概念。所以接下来要说的内容才是重点。

相关文章

  • Thread,Runnable和Callable

    Java多线程实现方式:Thread,Runnable,Callable多线程是乱序执行Thread===1.Th...

  • java 多线程

    多线程: 说到多线程,最先提到的就是Thread和Runnable。实现多线程可以通过继承Thread 或者 实现...

  • linux多线程编程 -- __thread

    linux多线程编程 -- __thread 一. __thread 定义 ​ __thread是GCC内置的...

  • Python 并行编程

    多线程编程 Python 主要提供了包括thread、threading、Queue等多线程编程模块。thread...

  • 线程启动原理

    Java多线程,皆始于Thread。Thread是多线程的根,每一个线程的开启都始于Thread的start()方...

  • 两种建立多线程的方式

    Thread和Runnable实现多线程的区别 Java中实现多线程有两种方法:继承Thread、实现Runnab...

  • Unity3D 多线程

    (一)多线程的创建 Thread A = new Thread(new ThreadStart(Goto));Th...

  • 3-Java中如何创建线程

    Runnable和Thread实现多线程的区别 Java中实现多线程有两种方法:继承Thread类、实现Runna...

  • java线程&和各种奇奇怪怪的锁

    1、Java线程 一、Java多线程常用的两种实现方法 1、 继承Thread类 子类继承Thread类具备多线程...

  • android 多线程 — Thread

    java 的线程类型是 Thread ,所以多线程的学习也是从 Thread 开始的 继承 Thread 类 启动...

网友评论

      本文标题:Thread 多线程

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