NSThread

1. 初始化

方法一:隐式创建

[NSThread detachNewThreadSelector:<#(nonnull SEL)#> toTarget:<#(nonnull id)#> withObject:<#(nullable id)#>];

方法二:隐式创建

[self performSelectorInBackground:<#(nonnull SEL)#> withObject:<#(nullable id)#>];

方法三:初始化方法

NSThread *thread = [NSThread alloc]initWithTarget:<#(nonnull id)#> selector:<#(nonnull SEL)#> object:<#(nullable id)#>];

[thread start];

方法四:继承(子类化)创建

(1)创建NSThread类的子类

(2)覆写-(void)main方法

(3)创建

2. 属性设置

[thread setName:<#(NSString * _Nullable)#>]; //设置线程的名字

thread.stackSize = 512;  //设置线程的栈空间

[thread.threadDictionary setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];  //设置线程的参数  只读属性

[thread setThreadPriority:<#(double)#>];  //设置线程的优先级

时间: 2024-10-14 17:02:22

NSThread的相关文章

NSThread那些事儿

NSThread 哎呀,它面向对象,再去看看苹果提供的API,对比一下Pthreads,简单明了,人生仿佛又充满了阳光和希望,我们先来一看一下系统提供给我们的API自然就知道怎么用了,来来来,我给你注释一下啊: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

iOS多线程与网络开发之多线程NSThread

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源代码传送:http://dwz.cn/Nret1 A.NSThread的基本使用 1.创建和启动线程 一个NSThread对象就代表一条线程

线程NSThread的使用

// // ZYThreadViewController.h // Thread // // Created by yejiong on 15/11/4. // Copyright © 2015年 zzz. All rights reserved. // #import <UIKit/UIKit.h> @interface ZYThreadViewController : UIViewController @end // // ZYThreadViewController.m // Threa

Objective-c——多线程开发第一天(pthread/NSThread)

一.为什么要使用多线程? 1.循环模拟耗时任务 1.同步执行 2.异步执行 (香烟编程小秘书) 3.进程 系统中正在运行的一个应用程序 每个进程之间是独立的, 均运行在其专用的且受保护的内存空间 通过活动监视器,可以查看mac系统中的开启进程 (外挂修改游戏进程中的数据,外挂用c汇编等底层) 4.线程 1个进程由一个或多个线程组成 是进程的基本执行单元(至少一个线程) 多线程: 1个进程可开启多个线程,多个线程可以“同时”执行不同任务 进程-公司,线程- 员工:老板:主线程 多线程可以提高程序的

iOS-有限缓冲问题经典案例-生产者消费者-NSThread多线程

1 #import "ViewController.h" 2 3 @interface ViewController () 4 { 5 NSMutableArray *_arr; 6 NSCondition *_condition; 7 } 8 @end 9 10 @implementation ViewController 11 12 - (void)viewDidLoad { 13 [super viewDidLoad]; 14 15 _arr = [NSMutableArray

多线程 pthread + NSThread

多线程 pthread + NSThread pthread (C语言) · 规律: C语言中的数据类型一般都是以 _t或者Ref结尾 创建C语言的对象, 一般都用cretae#import <pthread/pthread.h>- (IBAction)btnOnClick:(id)sender { // 1.创建子线程/* 第1个参数:线程代号 (现场对象) 第2个参数:线程的属性 第3个参数:子线程需要执行的操作(调用的方法) void *(*)(void *) 返回值 (*指针名称)参数

NSThread&amp;线程间通信

创建和启动线程 一个NSThread对象就代表一条线程 创建.启动线程 NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [thread start]; // 线程一启动,就会在线程thread中执行self的run方法 主线程相关用法 + (NSThread *)mainThread; // 获得主线程 - (BOOL)isMainThread; // 是否

ios多线程之NSThread头文件详解

1.NSThread 头文件中的相关方法 //获取当前线程 +(NSThread *)currentThread; //创建线程后自动启动线程 + (void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argument; //是否是多线程 + (BOOL)isMultiThreaded; //线程字典 - (NSMutableDictionary *)threadDictionary; //线

多线程——NSThread、GCD、NSOperation

1.前言: 一个应用程序就是一个进程,一个进程至少包含一个线程,程序启动会自动创建一个主线程,负责UI界面的现实和控件事件的监控.多线程可以更充分的利用系统CPU资源,一定程度上提升程序的性能.1个进程可以开启多条线程,每条线程可以并行(同时)执行不同的任务.在一个线程内可以包含多个事物(要干的活),在线程内依据先进先出的特性串行执行…… 2.NSThread - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"main thread is %@