Multithreading Nsthread Understanding

Source: Internet
Author: User

3 ways to create a child thread with Nsthread //  DYFViewController.m //  623-02-pthread // //  Created by dyf on 14-6-23. //  Copyright (c) 2014年 ___FULLUSERNAME___. All rights reserved. // #import "DYFViewController.h" #import <pthread.h> @interface DYFViewController () @end @implementation DYFViewController //// c语言函数 //void *run(void *data) //{ //    // 1.获取当前的线程 //    NSThread *cThread = [NSThread currentThread]; //    //    // 2.打印线程 //    NSLog(@"%@", cThread); //    //    // 3.h耗时操作 //    for (int i = 0; i < 9999; i++) { //        NSLog(@"%@", cThread); //    } // //    return NULL; //} - ( IBAction )btnOnClick {      // 1.获取当前的线程      NSThread *cthread = [ NSThread currentThread];           NSThread *mt = [ NSThread mainThread];      // 2.打印线程      NSLog (@ "%@" , cthread);           NSLog (@ "%@" , mt);           // 3.执行一线耗时的操作 : 创建一套子线程      [ self threadCreate3];    } - ( void )run:( NSString *)parma { //    [NSThread threadPriority]; //    //    [NSThread setThreadPriority:0.55];      // 取值0-1,默认0.5      for ( int i = 0; i < 9999; i++) {          NSLog (@ "%@---------%@" , [ NSThread currentThread], parma);      } } - ( void )threadCreate5 {      // 分离出的子线程      [ NSThread detachNewThreadSelector: @selector (run:) toTarget: self withObject:@ "2222222" ]; } - ( void )threadCreate4 {      // 分离出的子线程      [ NSThread detachNewThreadSelector: @selector (run:) toTarget: self withObject:@ "2222222" ]; } /**   *  NSThread创建方式3:隐世线程创建,并且直接(自动)启动   */ - ( void )threadCreate3 {      [ self performSelectorInBackground: @selector (run:) withObject:@ "333333" ]; } /**   *  创建方式2:创建完线程后自动启动   */ - ( void )threadCreate2 {      // 分离出的子线程      [ NSThread detachNewThreadSelector: @selector (run:) toTarget: self withObject:@ "2222222" ]; } /**   *  创建方式1:①先创建初始化子线程②再启动   */ - ( void )threadCreate {      NSThread *thread1 = [[ NSThread alloc] initWithTarget: self selector: @selector (run:) object:@ "heheh" ];      thread1.name = @ "thread1" ;      // 开启线程      [thread1 start];           NSThread *thread2 = [[ NSThread alloc] initWithTarget: self selector: @selector (run:) object:@ "heheh" ];      thread2.name = @ "thread2" ;      // 开启线程      [thread2 start];           NSThread *thread3 = [[ NSThread alloc] initWithTarget: self selector: @selector (run:) object:@ "heheh" ];      thread3.name = @ "33" ;      // 开启线程      [thread3 start]; } @end

The use of nsthread in development is also not commonly used, understand can

Multithreading Nsthread Understanding

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.