- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
/**
* NSOperation不能直接进行多线程的创建,需要借助:NSOperationQueue
*/ // 使用NSOperation的第一个类去创建子线程
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(test) object:nil];
// 在单独使用NSOperation的子类创建子线程的时候,一定要启动才行
// [operation start]; // 使用NSOperation的第二个子类创建子线程
NSBlockOperation *blockOperation = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"我是block");
NSLog(@"current = %@", [NSThread currentThread]);
NSLog(@"main = %@", [NSThread mainThread]);
}];
// 启动
// [blockOperation start]; // 在使用NSOperation的子类去创建线程的时候,实际上线程没有真正意义上的创建
// 需要把上班的两个线程,放到操作列队
// 一旦将创建的对象加入到操作队列中,就不能调用start方法,否则会造成崩溃
// add 和 start 不能共存
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
// 最大的并发数量
// 当值设置为1的时候,可以叫做串行:即顺序执行
// 当设置大于1的时候,叫做并行:多条通道执行
queue.maxConcurrentOperationCount = ; [queue addOperation:operation];
[queue addOperation:blockOperation];
} - (void)test {
NSLog(@"

最新文章

  1. window7 桌面新建快捷方式方法
  2. sqlserver 2008R2数据库迁移oracle
  3. 二十九、EFW框架开发的系统支持SaaS模式和实现思路
  4. 分布式架构高可用架构篇_06_MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
  5. Python开发者最常犯的10个错误
  6. JDBC学习笔记(5)——利用反射及JDBC元数据编写通用的查询方法
  7. iOS开发-表视图的使用
  8. 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
  9. 在后台代码中引入XAML的方法
  10. java.lang.NoSuchFieldError: deferredExpression解决
  11. hdu 4944 FSF’s game(数论)
  12. 微信小程序之----navigator页面跳转
  13. Android特效专辑(一)——水波纹过渡特效(首页)
  14. GO : 斐波纳契数列
  15. Spring MVC基础知识整理➣国际化和异常处理
  16. [干货教程]仿网易云课堂微信小程序开发实战经验
  17. browserify babel gulp 没有编译import的文件
  18. 2018.11.30 spoj220 Relevant Phrases of Annihilation(后缀数组+二分答案)
  19. 2018.11.06 洛谷P1941 飞扬的小鸟(背包)
  20. 【MongoDB学习-安装流程】

热门文章

  1. Asp.net 提供程序模型
  2. Webform之FileUpload(上传按钮控件)简单介绍及下载、上传文件时图片预览
  3. C++函数声明和定义深度解析
  4. maxContainerCapability 设置不足
  5. 关于playframework2.5
  6. monkeyrunner环境搭建
  7. @Transactional失效的问题
  8. Python学习之字符串函数
  9. js大小写锁判断
  10. android中文字高亮设置案例