- (void)viewDidLoad {

[super viewDidLoad];

_imgView = [[UIImageView alloc]initWithFrame:self.view.bounds];

_imgView.contentMode = UIViewContentModeScaleAspectFit;

[self.view addSubview:_imgView];

// Do any additional setup after loading the view, typically from a nib.

// //方法1

// NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(test) object:nil];

// [thread start];

//

// //方法2

// [self performSelectorInBackground:@selector(test) withObject:nil];

// //方法3

// [NSThread detachNewThreadSelector:@selector(test) toTarget:self withObject:nil];

// //方法4 NSOperationQueue是一个操作队列或者线程池

NSOperationQueue *queue = [[NSOperationQueue alloc]init];

// queue.maxConcurrentOperationCount = 1;

// [queue addOperationWithBlock:^{//往队列中添加一个操作

// [self test];

// }];

// //方法5 不要直接去创建NSOperation对象

NSInvocationOperation *opertion = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(test) object:nil];

// opertion.queuePriority = NSOperationQueuePriorityVeryLow;

//

// NSInvocationOperation *opertion2 = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(test1) object:nil];

// opertion2.queuePriority = NSOperationQueuePriorityVeryHigh;

//

//方法6

// ThreadOperation *threadOperation = [[ThreadOperation alloc]init];

// [queue addOperation:threadOperation];

[queue addOperation:opertion];

// [queue addOperation:opertion2];


// BOOL bool1 = [[NSThread currentThread]isMainThread];

// NSLog(@"bool1 is %d",bool1);

// for (int i = 0; i < 10; i ++) {

// NSLog(@"-----------------main%d",i);

// }

}

- (void)test{

@autoreleasepool {

// [NSThread sleepForTimeInterval:5];

// BOOL bool2 = [[NSThread currentThread]isMainThread];

// NSLog(@"bool2 is %d",bool2);

// for (int i = 0; i < 10; i ++) {

// NSLog(@"-----------------test%d",i);

// }

// [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(run:) userInfo:nil repeats:YES];


// NSTimer *timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(run:) userInfo:nil repeats:YES];

// [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];

//

// [[NSRunLoop currentRunLoop]run];

/*

https://cache.yisu.com/upload/information/20200312/67/250146.jpg

*/

// NSLog(@"1");

NSString *imgUrl = @"https://cache.yisu.com/upload/information/20200312/67/250147.jpg";

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:imgUrl]];

// _imgView.p_w_picpath = [UIImage p_w_picpathWithData:data];

[self performSelectorOnMainThread:@selector(show:) withObject:data waitUntilDone:NO];

}

}

- (void)run:(NSTimer *)timer{

}

- (void)show:(NSData *)data{

_imgView.p_w_picpath = [UIImage p_w_picpathWithData:data];

}

//- (void)test1{

// //[NSThread sleepForTimeInterval:5];

// BOOL bool2 = [[NSThread currentThread]isMainThread];

// NSLog(@"bool2 is %d",bool2);

// for (int i = 0; i < 10; i ++) {

// NSLog(@"-----------------test111111%d",i);

// }

//}