文档章节

多线程

JK_Jack
 JK_Jack
发布于 2015/10/19 17:20
字数 220
阅读 2
收藏 0

@interface ViewController ()

@end

@implementation ViewController

- (
void)viewDidLoad {
    [
super viewDidLoad];
   
// Do any additional setup after loading the view, typically from a nib.
}

- (
void)didReceiveMemoryWarning {
    [
super didReceiveMemoryWarning];
   
// Dispose of any resources that can be recreated.
}

- (
IBAction)button:(id)sender {
   
//子线程
//    NSThread *th = [[NSThread alloc] initWithTarget:self selector:@selector(th:) object:nil];
//    [th start];
    [
NSThread detachNewThreadSelector:@selector(th:) toTarget:self withObject:nil];
   
   
//线程互斥
   
//多线程队列
   
//创建队列
   
NSOperationQueue *q = [[NSOperationQueue alloc] init];
   
//在队列里创建添加子线程
    [q
addOperationWithBlock:^{
       
NSLog(@"q=%d",[[NSThread currentThread] isMainThread]);
       
//返回主线程的函数
        [
self performSelectorOnMainThread:@selector(mainThread:) withObject:nil waitUntilDone:YES];

    }];
   
// NSInvocationOperation创建子线程
   
NSInvocationOperation *inv =[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(th:) object:nil];
    [q
addOperation:inv];
   
   
//GCD(c语言)创建线程
   
//1.创建队列
   
dispatch_queue_t queue = dispatch_queue_create("qq", NULL);
   
//2.创建子线程
   
dispatch_async(queue, ^{
       
//返回主线程
       
dispatch_sync(dispatch_get_main_queue(), ^{
           
        });
    });
   
   
   
   
   
}

-(
void)th:(id)object
{
   
NSLog(@"th=%d",[[NSThread currentThread] isMainThread]);
   
NSURL *url = [NSURL URLWithString:BaseUrl];
   
NSURLRequest *request = [NSURLRequest requestWithURL:url];
   
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
   
UIImage *image = [UIImage imageWithData:data];
    [
self performSelectorOnMainThread:@selector(mainThread:) withObject:image waitUntilDone:YES];
}
-(
void)mainThread:(id)object
{
   
self.imageV.image = object;
}

@end

 

© 著作权归作者所有

共有 人打赏支持
上一篇: GCD
JK_Jack
粉丝 0
博文 6
码字总数 2658
作品 0
广州
私信 提问

暂无文章

自定义线程池

自定义线程工厂: public class CustomThreadFactory implements ThreadFactory { private static final Logger LOGGER = LoggerFactory.getLogger(CustomThreadFactory.class); pu......

hensemlee
22分钟前
1
0
【剑指offer纪念版】-- 面试题目录

2.实现Singleton模式 3.二维数组中的查找 4.替换空格 5.从尾到头打印链表 6.重建二叉树 7.用两个栈实现队列 8.旋转数组的最小数字 9.斐波那契数列 【剑指offer纪念版】--9 斐波那契数列 10.二...

细节探索者
35分钟前
1
0
记一次oom内核优化记录:vm.lower_zone_protection

情景 最近gitlab服务会偶发性500,当前机器部署了gitlab、nfs等服务,经过排查发现是nfsd引发oom,导致系统运行不畅。处理过程如下: 事故现场 开发在使用gitlab的时候发现,偶发性的出现500...

阿dai
今天
4
0
Spring Batch JSON 支持

Spring Batch 4.1 开始能够支持 JSON 格式了。这个发布介绍了一个新的数据读(item reader)能够读取一个 JSON 资源,这个资源按照下面的格式: [  {    "isin": "123",    ...

honeymose
今天
0
0
浏览器缓存

HTTP缓存类型 200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cache 304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,如果服务端数据没有改变,则读...

关元
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部