网络多线程-NSOperationQueue基本使用
来源:互联网 发布:七五事件汉人反击 知乎 编辑:程序博客网 时间:2024/05/26 05:52
#import "ViewController.h"
#import "XMGOperation.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[selfcustomOperation];
}
-(void)customOperation
{
//1.创建队列
NSOperationQueue *queue = [[NSOperationQueuealloc]init];
//2.封装操作
XMGOperation *op1 = [[XMGOperationalloc]init];
XMGOperation *op2 = [[XMGOperationalloc]init];
//3.添加到队列
[queue addOperation:op1];
[queue addOperation:op2];
}
-(void)blockOperation
{
//1.创建队列
NSOperationQueue *queue = [[NSOperationQueuealloc]init];
//2.封装操作
NSBlockOperation *op1 = [NSBlockOperationblockOperationWithBlock:^{
NSLog(@"1----%@",[NSThreadcurrentThread]);
}];
NSBlockOperation *op2 = [NSBlockOperationblockOperationWithBlock:^{
NSLog(@"2----%@",[NSThreadcurrentThread]);
}];
NSBlockOperation *op3 = [NSBlockOperationblockOperationWithBlock:^{
NSLog(@"3----%@",[NSThreadcurrentThread]);
}];
[op3 addExecutionBlock:^{
NSLog(@"4----%@",[NSThreadcurrentThread]);
}];
[op3 addExecutionBlock:^{
NSLog(@"5----%@",[NSThreadcurrentThread]);
}];
[queue addOperation:op1];
[queue addOperation:op2];
[queue addOperation:op3];
}
-(void)invocationOperation
{
//1.创建队列
/*
GCD:
串行(2
并发(2
NSOperation
主队列:串行[NSOperation mainQueue]
非主队列:同时具备了并发和串行的功能,默认是并发 [NSOperation alloc]init]
*/
NSOperationQueue *queue = [[NSOperationQueuealloc]init];
//2.封装操作
NSInvocationOperation *op1 = [[NSInvocationOperationalloc]initWithTarget:selfselector:@selector(download1)object:nil];
NSInvocationOperation *op2 = [[NSInvocationOperationalloc]initWithTarget:selfselector:@selector(download2)object:nil];
NSInvocationOperation *op3 = [[NSInvocationOperationalloc]initWithTarget:selfselector:@selector(download3)object:nil];
//3.把操作添加到队列里面
[queue addOperation:op1]; //[op1 start]
[queue addOperation:op2];
[queue addOperation:op3];
}
-(void)download1
{
NSLog(@"download1----%@",[NSThreadcurrentThread]);
}
-(void)download2
{
NSLog(@"download2----%@",[NSThreadcurrentThread]);
}
-(void)download3
{
NSLog(@"download3----%@",[NSThreadcurrentThread]);
}
@end
- 网络多线程-NSOperationQueue基本使用
- iOS 多线程编程<九、NSOperationQueue的基本使用>
- 【网络】多线程--NSThread、GCD、NSOperationQueue
- 使用NSOperationQueue简化多线程开发
- 使用NSOperationQueue简化多线程开发
- 使用NSOperationQueue简化多线程开发
- 使用NSOperationQueue简化多线程开发
- 使用NSOperationQueue简化多线程开发
- NSOperation,NSOperationQueue基本的使用
- 多线程 - NSOperationQueue
- 使用NSOperation和NSOperationQueue启动多线程
- 使用NSOperation和NSOperationQueue启动多线程
- 使用NSOperation和NSOperationQueue启动多线程
- 使用NSOperation和NSOperationQueue启动多线程
- [技术]使用NSOperationQueue简化多线程开发
- 使用NSOperation和NSOperationQueue启动多线程
- 使用NSOperation和NSOperationQueue启动多线程
- 使用NSOperation和NSOperationQueue用来实现多线程
- UART与USART(转)
- 线索二叉树的实现
- 位运算(一)
- Android学习之PhotoView在Eclipse上的使用
- 如何使用正则表达式
- 网络多线程-NSOperationQueue基本使用
- [Hadoop]HDFS shell命令
- sms4的简单实现(C语言版)
- 数据结构实验之图论八:欧拉回路
- Android音乐播放器
- Hello World 汇编语言版
- Linux发展历程、基本特点简介
- 网络多线程-NSOperation最大并发数
- 数据结构实验之图论六:村村通公路