NSThread

简介:


#import "ViewController.h"

 

@interface ViewController ()

{

    NSThread *thread1;

    NSThread *thread2;

    UIButton *btn;

 

}

 @end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

     btn=[UIButton buttonWithType:UIButtonTypeCustom];

    btn.frame=CGRectMake(30, 30, 50, 50);

    [btn setTitle:@"按钮" forState:UIControlStateNormal];

    btn.backgroundColor=[UIColor greenColor];

    [self.view addSubview:btn];

    //线程创建 主要有两种方法

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

     [thread1 start];//此方法创建需要手动启动

    //此方法自动启动线程方法

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

 

}

-(void)threadfun1

{

    NSLog(@"thread1");

    //调用主线程更新

    [self performSelectorOnMainThread:@selector(upbutton) withObject:nil waitUntilDone:NO];

    

}

-(void)upbutton

{

    [btn setTitle:@"123" forState:UIControlStateNormal];

    [self performSelector:@selector(threadtothread) withObject:nil];

     

}

-(void)threadtothread

{

    NSLog(@"threadtothread");

}

-(void)threadfun2

{

    NSLog(@"thread2");

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

@end 

相关文章
|
2月前
GCD与NSThread的区别
GCD与NSThread的区别
207 65
|
4月前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】animated-countdown
【HTML+CSS+JavaScript】animated-countdown
29 0
|
安全 测试技术 调度
iOS开发多线程篇-NSThread
上篇我们学习了iOS多线程解决方式中的NSOperation,这篇我主要概况总结iOS多线程中NSThread的解决方式和基本用例
|
安全
NSThread
创建和启动线程 一个 NSThread 对象就代表一条线程 创建、启动线程 NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:...
892 0
|
API iOS开发
RunLoop
简介 什么是 RunLoop ? 从字面意思看的话是运行循环、跑圈的意思; RunLoop 的基本作用是什么: 保持程序的持续运行; 处理 App 中的各种事件(比如触摸事件、定时器事件、Selector 事件); 节省 CPU 资源,提高程序性能:...
1145 0
|
缓存
NSOperation
简介 NSOperation 的作用 配合使用 NSOperation 和 NSOperationQueue 也能实现多线程编程; NSOperation 和 NSOperationQueue 实现多线程的具体步骤 先将需要执行的操作封装到一个 NS...
1337 0