类似于什么是进程什么是线程在这里我就不多浪费时间了(Google一下什么都有)!
废话不多说先上图,我相信大家都是喜欢看图的人,俗话说得好,求图求真相吗?虽然这里只有屌丝一个但是真相还是会有的。。。
码农的EQ有限,所以既没有太多煽情的部分了
在Obj-c中线程的创建与启动
首先说一下OC中有几种多线程的方式
//创建多线程对象一
NSThread *thread=[[NSThread alloc] initWithTarget:self selector:@selector(ChildThread:) object:@"子线程"];
//开始运行多线程
[thread start];
//创建多线程对象二
[NSThreaddetachNewThreadSelector:@selector(ChildThread:) toTarget:selfwithObject:@"子线程"];
//创建多线程对象三
[selfperformSelectorInBackground:@selector(ChildThread:) withObject:@"子线程"];
//创建多线程对象四
NSOperationQueue *threadQueue = [[NSOperationQueue alloc] init];
[threadQueue addOperationWithBlock:^(void){
NSThread *t = [NSThread currentThread];
if (![t isMainThread]) {
for (int i=0; i<100; i++) {
NSLog(@"---子线程---%d",i);
}
}
}];
//创建多线程对象五
//创建一个线程队列
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
//同时执行的并发数
operationQueue.maxConcurrentOperationCount = 1;
//创建一个线程对象
NSInvocationOperation *operation1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(ChildThread:) object:@"子线程"];
//创建一个线程对象
NSInvocationOperation *operation2 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(ChildThread2:) object:@"子线程2"];
//设置优先级
operation2.queuePriority = NSOperationQueuePriorityHigh;
[operationQueue addOperation:operation1];
[operationQueue addOperation:operation2];
//创建多线程对象六
dispatch_queue_t queueq=dispatch_queue_create("test", NULL);
dispatch_async(queueq, ^{
for (int i=0; i<100; i++) {
NSLog(@"---子线程1---%d",i);
}
dispatch_sync(dispatch_get_main_queue(), ^{
BOOL isMain = [NSThread isMainThread];
if (isMain) {
NSLog(@"主线程");
}
});
});
先创建一个项目
我这里XCode版本是5.0.2

创建一个新项目

选择一个空的application 创建

下一步

点击 创建

到这里我们这个项目就算创建好了。
开始 coding

选择这个.m文件

又补充了一下子


到这里先告一段落
持续更新中...
那里有不对的请多提意见,互相学习!
感觉有帮助的话,请帮忙推荐一下,大家的肯定才是对我最大的支持!
相关推荐
在iOS开发中,多线程多任务下载是提高应用程序性能和用户体验的重要技术。尤其是在处理大文件下载时,传统的单线程下载方式可能会导致用户界面阻塞,无法进行其他操作,而多线程多任务下载则可以很好地解决这个问题...
在iOS开发中,移动应用开发是一项关键技能,尤其在当今高度依赖智能手机的时代。本教程将聚焦于一个重要的实践环节——如何实现多图片的多线程下载。这一功能对于提升用户体验至关重要,因为它允许用户在后台加载...
在iOS开发中,多线程技术是至关重要的,它能够帮助我们提高应用程序的性能和用户体验。本教程将深入探讨Swift中的三种主要多线程技术:NSThread、GCD(Grand Central Dispatch)以及NSOperation。这三者都有其独特的...
iOS多线程是移动应用开发中不可或缺的技术,它允许程序在后台执行耗时任务,同时保持主线程的流畅,从而提供良好的用户体验。本文将深入探讨iOS的三种主要多线程编程方式:NSThread、NSOperation和NSOperationQueue...
iOS移动开发是当今软件开发领域的一个热点,尤其是在企业级应用中,其需求日益增长。本专题将深入探讨如何使用Embarcadero DelphiXE4这一强大的集成开发环境(IDE)进行iOS应用程序的开发。 DelphiXE4是由...
在iOS应用开发中,多线程技术是必不可少的,尤其在网络请求和图片下载场景中,它能提升用户体验,避免UI阻塞。本文将深入探讨如何在iPhone开发中利用多线程进行网络请求和图片下载。 首先,我们来看一下标题中的...
本书由资深iOS开发工程师精心编撰,系统地介绍了使用iOS 10+Swift 3+Xcode 8开发移动应用的关键技术。 本书共分三篇,*篇为基础篇,主要介绍了iOS开发基础知识,包括iOS系统的历史、Swift 3.0语言、UI界面构建技术...
"2013年百度校招移动开发工程师笔试题--深圳" 这个标题揭示了这是百度公司在2013年度针对校园招聘进行的一场针对移动开发工程师岗位的笔试题目。这场考试可能包含了对于移动平台开发技术、编程语言、软件设计原则、...
- 多线程处理技巧 - 图片与动画处理技术 - **高级实战:** - 3D图形渲染 - 数据持久化策略 - 服务器交互技术 #### 三、知名iOS培训课程 - **教程名称:** JF23-知名iOS培训开发视频教程 - **容量大小:** ...
开发者可能使用Qt Creator作为集成开发环境,使用QNetworkAccessManager处理网络通信,使用QThread管理多线程,确保UI的流畅性。同时,为了兼容Android和iOS,项目可能使用了Qt的平台适配器和特定平台的API。 总的...
开发者需要关注CPU和GPU的使用情况,调整编码参数以适应不同设备的能力,并可能需要实施多线程处理,以提高编码效率。 7. **错误处理和调试**: 集成FFmpeg到iOS项目中可能会遇到各种问题,如内存管理、编译错误、...
在跨平台移动应用开发中,Kotlin 多平台(KMM)允许开发者编写一次代码,然后在 iOS 和 Android 上共享。Kotlin 是一种静态类型的 JVM 和 JavaScript 编译器支持的语言,由 JetBrains 开发,因其简洁、安全和高性能...
《Xamarin iOS开发实战中册》是一本专为开发者准备的深入学习Xamarin技术,特别是针对iOS平台的应用开发指南。这本书旨在帮助读者掌握使用Xamarin工具集构建原生iOS应用程序的技能,从而实现跨平台的高效开发。...
移动应用开发是现代信息技术领域中的一个重要分支,尤其在高职教育中占据着显著的地位。"GZ-2022039 移动应用开发赛项赛题" 提供了一个全面的学习和竞技平台,旨在提升学生的实践能力和创新能力,特别是在云计算环境...
实验案例往往涵盖了从基础到高级的各种技术点,例如在Android开发中可能包括UI布局、数据存储、网络通信、多线程处理、传感器应用、图形图像处理等内容。 实验库中的源码是学习移动应用开发的重要资源。通过阅读和...
- **iOS系统简介**:iOS是由苹果公司开发的移动操作系统,主要用于iPhone、iPad等设备。它以直观的操作界面、优秀的用户体验著称。 - **Swift语言入门**:Swift是苹果推出的一种编程语言,用于iOS、iPadOS、macOS等...
在iOS开发中,JSON(JavaScript Object Notation)数据解析是一个重要的环节,因为它是一种轻量级的数据交换格式,广泛用于Web服务和移动应用之间的数据传输。本文将深入探讨JSON在iOS开发中的作用,以及如何利用...
9. **多线程**:讨论GCD(Grand Central Dispatch)和Operation Queues,理解多线程在iOS开发中的应用。 10. **App Store发布**:介绍iOS应用的测试、签名、版本控制和App Store审核流程,以及App Store Connect的...
【Swift开发-视频处理/播放器】:Swift是一种由Apple推出的高效、安全的编程语言,广泛应用于iOS、macOS、watchOS和tvOS等平台的软件开发。在本项目"swift-PandoraPlayer"中,它被用来创建一个轻量级的音乐播放器...
GCD 是苹果提供的一种多线程解决方案,它允许开发者无需直接管理线程,而是通过提交任务到队列来实现异步执行。有两大类型的任务队列:串行队列和并行队列。串行队列确保同一时间只有一个任务在执行,而并行队列则...