zoukankan      html  css  js  c++  java
  • GCD

    //

    //  ZBMainViewController.m

    //  TestProject

    //

    //  Created by 张先森 on 14/12/5.

    //  Copyright (c) 2014年 zhibin. All rights reserved.

    //

    #import "ZBMainViewController.h"

    @interface ZBMainViewController ()

    @end

    @implementation ZBMainViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

       // [self InitControls];

        

        [self InitControls];

    }

    //异步添加到并发队列 开启新线程

    -(void)InitControls{

        dispatch_queue_t  queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

        dispatch_async(queue, ^{

            NSLog(@"%@c测试1",[NSThread currentThread]);

        });

        dispatch_async(queue, ^{

                   NSLog(@"%@c测试2",[NSThread currentThread]);

        });

        dispatch_async(queue, ^{

                   NSLog(@"%@c测试3",[NSThread currentThread]);

        });

    }

    //异步添加到同步线程  会开启一个线程

    -(void)InitControls2{

        

        dispatch_queue_t queue=dispatch_queue_create("zhibin", NULL);

      

        dispatch_async(queue, ^{

              NSLog(@"%@c测试1",[NSThread currentThread]);

        });

        dispatch_async(queue, ^{

                      NSLog(@"%@c测试2",[NSThread currentThread]);

        });

        dispatch_async(queue, ^{

            

            NSLog(@"%@c测试3",[NSThread currentThread]);

        });

    }

    //同步添加到并发线程中  不开启新线程   线程失去并发能力

    -(void)InitControls3{

        dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

        

        

        dispatch_sync(queue, ^{

                    NSLog(@"%@c测试1",[NSThread currentThread]);

        });

        

        dispatch_sync(queue, ^{

                    NSLog(@"%@c测试2",[NSThread currentThread]);

        });

        

        dispatch_sync(queue, ^{

                    NSLog(@"%@c测试3",[NSThread currentThread]);

        });

    }

    //同步添加串行队列 不会开启新线程

    -(void)InitControls4{

        dispatch_queue_t  queue=dispatch_queue_create("zhibin", NULL);

        dispatch_sync(queue, ^{

                  NSLog(@"%@c测试1",[NSThread currentThread]);

        });

        dispatch_sync(queue, ^{

            NSLog(@"%@c测试2",[NSThread currentThread]);

        });

        dispatch_sync(queue, ^{

            NSLog(@"%@c测试3",[NSThread currentThread]);

        });

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

    /*

    #pragma mark - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

        // Get the new view controller using [segue destinationViewController].

        // Pass the selected object to the new view controller.

    }

    */

    @end

  • 相关阅读:
    性能监控(5)–JAVA下的jstat命令
    内存分析工具-MAT(Memory Analyzer Tool)
    性能监控(4)–linux下的pidstat命令
    性能监控(3)–linux下的iostat命令
    性能监控(2)–linux下的vmstat命令
    性能监控(1)--linux下的top命令
    了解java虚拟机—在TALB上分配对象(10)
    了解java虚拟机—G1回收器(9)
    js 长按鼠标左键实现溢出内容左右滚动滚动
    html标签设置contenteditable时,去除粘贴文本自带样式
  • 原文地址:https://www.cnblogs.com/zhibin/p/4152201.html
Copyright © 2011-2022 走看看