iOS 多线程之NSThread简单使用

一、NSThread

1.创建和启动线程的3种方式

1>先创建,后启动

//创建

NSThread *thread1 = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil];

//启动

[thread1 start];

2>创建完成自动启动

[NSThread detachNewThreadSelector:@selector(download) toTarget:self withObject:nil];

3>隐式创建(自动启动)

[self performSelectorInBackground:@selector(download) withObject:nil];

2.常见方法

1>获得当前线程

+ (NSThread *)currentThread;

2>获得主线程

+ (NSThread *)mainThread

3>睡眠(暂停)线程

+ (void)sleepUntilDate:(NSDate *)date;

+ (void)sleepForTimeInterval:(NSTimeInterval)ti;

4>设置线程的名字

-(void)setName:(NSString *)name;

-(NSString *)name;

二、线程同步

1.实质:为了防止多个线程抢夺统一资源造成的数据安全问题

2.实现:给代码加一个互斥锁(同步锁)

@synchronized(self){

//被锁住的代码

}

推荐阅读更多精彩内容

  • 1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread2、Cocoa NSOperatio...
    LuckTime阅读 1,143评论 0 1
  • 概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最...
    CocoLeo阅读 751评论 1 9
  • 一、多线程基础 基本概念 进程进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且...
    AlanGe阅读 308评论 0 0
  • 提一个老生常谈的话题:在选择爱人的时候,是选择爱我的还是我爱的,当时的我还不大,毫不犹豫的说:我情愿要一个爱我...
    帅园阅读 114评论 0 1