iOS學習筆記31-多線程深入

來源:互聯網
上載者:User

標籤:

  /**

     *建立一個隊列(串列)

     **/

    dispatch_queue_t queue1 = dispatch_queue_create("queue1", DISPATCH_QUEUE_SERIAL);

    

    /**

     *添加代碼塊 執行線程的路徑

     **/

    dispatch_async(queue1, ^{

        for (int i = 0; i<100; i++) {

            NSLog(@"線程一,%d",i);

        }

    });

 

 

 

 

用C語言函數的方式建立線程

    dispatch_sync_f(queue1, NULL, treadFun);//用線程函數的方式作為線程的路徑

 

 

 

void treadFun(){

    for (int i =0 ; i<100; i++) {

        NSLog(@"線程2,%d",i);

    }

 

}

 

 

//    dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, 2*NSEC_PER_SEC);

//    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

//    dispatch_after(time, queue, ^{

//        NSLog(@"222");

//    });

 

 

上面代碼等價於

 NSLog(@"11111");

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

        NSLog(@"2222222");

    });

 

 

 

/**

 *過一段時間後才執行

 1,dispatch_after

 2,NSObject performSelector

 3,timer 定時器方法

 **/

 

 

 

 [super viewDidLoad];

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(myfun) userInfo:nil repeats:YES];

    

    [timer invalidate];

 

 

 

//    [self performSelector:@selector(myfun) withObject:nil afterDelay:5.0];

 

iOS學習筆記31-多線程深入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.