类似于什么是进程什么是线程在这里我就不多浪费时间了(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文件

又补充了一下子

到这里先告一段落

持续更新中...

那里有不对的请多提意见,互相学习!

感觉有帮助的话,请帮忙推荐一下,大家的肯定才是对我最大的支持!

作者:zhangwenjian
出处:http://www.cnblogs.com/zhangwenjian
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

移动开发在路上-- IOS移动开发系列 多线程一的更多相关文章

  1. 移动开发在路上-- IOS移动开发系列 多线程二

    最近太忙没太多的时间,忙碌的码农生活空下来一点时间,都会挤出来看一些技术或者咨询的文章,废话不多说,直奔主题. 接着上一次的继续说. 定时器在多线程的使用 NSRunLoop 是线程相关的基础框架的一 ...

  2. 移动开发在路上-- IOS移动开发系列 网络交互四(1)

    最近一段时间上班忙的没日没夜的,不是披星戴月,就是头天早上出门,第二天早上回家...一直没出处时间来更新博客,码农之苦,说了都是泪,废话不多说,直接本主题,经过之前三篇的讲述,ios开发的东西大家或多 ...

  3. 移动开发在路上-- IOS移动开发系列 多线程三

    这一次说一点概念性的东西,也是为后边做一些基础 HTTP协议的基本概念 http协议的基本概念 全称“超文本传输协议”,浏览器和服务器之间的通信规则 HTTp协议永远都是客户端发起的请求,服务器回送响 ...

  4. 移动开发在路上-- IOS移动开发系列 网络交互四(2)

    接着上次的讲,这次我们讲 网络请求的封装  打开创建的项目,让我们一起来继续完成他, 首先我们来创建一个NSobject 的文件 圈住出来的轻一点要注意.千万不要搞错了 创建好之后,开始编写代码, 我 ...

  5. 移动开发在路上-- IOS移动开发 五 网络请求封装

    接着上次的讲,这次我们讲 网络请求的封装  打开创建的项目,让我们一起来继续完成他, 上次我们说到GET请求地址的拼接: 我们接着上次的继续完善: 下边我们要定义的是 block //定义block ...

  6. iOS APP开发的小知识(分享)

          亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...

  7. iOS企业级开发初级课程-表视图(13集)

    首先了解了表视图的组成.表视图类的构成.表视图的分类以及表视图的两个重要协议(委托协议和数据源协议),对表视图有了一个整体上的认识.接下来我们掌握了如何实现简单表视图和分节表视图,以及表视图中索引.搜 ...

  8. ios framework 开发

    ios framework 开发 之 参考 ios framework 开发 之 实战 iOS workspace 依次编译多个工程

  9. iOS 非ARC基本内存管理系列 -手把手教你ARC——iOS/Mac开发ARC入门和使用(转)

    手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objective-c 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流 ...

随机推荐

  1. dubbo监控安装

    tar xf dubbo-monitor-simple-2.8.4-assembly.tar.gz cd dubbo-monitor-simple-2.8.4 vi conf/dubbo.proper ...

  2. PHP 导出微信公众号粉丝的方法

    PHP 导出微信公众号粉丝的方法 先 user/get 获取关注者列表 然后user/info 根据openid读取信息 以上方法认证的订阅号支持

  3. html5 点击播放video的方法

    html5 点击播放video的方法<pre> <video videosrc="{$vo.shipinurl}" controls="" x ...

  4. jquey写进度条问题

    jquey写进度条问题可以直接按照 总时间和进度条宽度之比来做 不管他是不是y=kx 反正时间到0 进度肯定是0了

  5. IP网段的判断

    一.    OSI七层模型 表示 说明 作用 应用层 HTTP.ftp 协议 表示层 UTF-8 将应用层协议翻译成计算机可识别的语言 会话层 管理传输层 传输层 TCP/UDP 建立以及断开连接 网 ...

  6. 6. SOFAJRaft源码分析— 透过RheaKV看线性一致性读

    开篇 其实这篇文章我本来想在讲完选举的时候就开始讲线性一致性读的,但是感觉直接讲没头没尾的看起来比比较困难,所以就有了RheaKV的系列,这是RheaKV,终于可以讲一下SOFAJRaft的线性一致性 ...

  7. 小白学 Python(23):Excel 基础操作(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  8. [Office] Resources for Office Development

    Office 2013 Document (.chm) download page: http://www.microsoft.com/en-us/download/details.aspx?id=4 ...

  9. 张孝祥java高新技术 --- jkd1.5 新特性 -- 精华总结

    1. 抽象方法的使用 如果一个方法中大量出现if语句, 那么, 就应该考虑使用抽象来处理. 如下例: package com.lxl; public class Weekend { //周日 publ ...

  10. mui 底部导航栏

    mui 底部导航栏 <nav class="mui-bar mui-bar-tab " id="nav"> <a class="mu ...