NSThread创建线程的三种方法
2024-10-13 19:48:46
- (IBAction)NSThreadBtnClick:(id)sender { [self threadObjectMethod];
[self threadClassMethod];
[self threadNSObjectMethod]; } #pragma mark - 继承自NSObject的类的对象 都可以调用这个方法 只不过拿不到线程对象
- (void)threadNSObjectMethod{
//自动开启线程并且执行方法
//下边的这个方法在NSObject (NSThreadPerformAdditions)里边即NSObject的分类
[self performSelectorInBackground:@selector(NSThreadDemo:) withObject:@"NSObjectCategory"];
} #pragma mark - 通过类方法创建 分离出来一个线程 不需要手动开启线程 自动开启线程并且执行方法
- (void)threadClassMethod{
[NSThread detachNewThreadSelector:@selector(NSThreadDemo:) toTarget:self withObject:@"classMethodThread"];
} #pragma Mark- 通过对象方法来创建线程 并且需要手动启动线程
- (void)threadObjectMethod{
NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(NSThreadDemo:) object:@"objectMethodThread"];
//手动启动线程
[thread start]; } - (void)NSThreadDemo:(id)obj{
NSLog(@"传入参数%@",obj);
NSLog(@"hello %@",[NSThread currentThread]); }
补充部分多线程相关的读书笔记:
参考书籍:
Objective-C高级编程iOS与OSX多线程和内存管理
先写到这么多,以后再更新
如有问题,敬请指正;
如需转载,请注明出处,谢谢!
最新文章
- Linux上oracle精简版客户端快速部署
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)
- 国内技术管理人员批阅google的“春运交通图”项目(大公司下的高效率)<;转载>;
- JS-学习-DOM元素尺寸和位置
- [iOS Hybrid实践:UIWebView中Html中用JS调用OC方法,OC执行JS代码]
- Android Handler简单示例
- QWidget的六个刷新函数(居然有QWidget::erase函数,且并不产生绘制事件)
- 【转】让Souce Insight支持多种语言的语法高亮:Python,Ruby,ARM汇编,windows脚本文件(bat/batch),PPC,SQL,TCL,Delphi等
- VSFTPD无法上传的解决方法
- php数组去重实例及分析
- PHP session过期时间
- 统计 iOS 设备锁定、解锁次数-b
- Django中的cookie与session
- 解决Eclipse下第三方库无法导航源代码
- 如何在windows server 2012 R2 部署WEB项目
- 从零开始学习前端开发 — 15、CSS3过渡、动画
- 从a文件判断是否删除b文件中的行(sed示例)
- UCloud 的安全秘钥 (计蒜客初赛第五场)(待解决)
- 从零开始学 Web 之 Ajax(二)PHP基础语法
- dorado-SplitSpanel控件