There are two ways to create multithreading in Objecttive-c, one is Initwithtarget, and the other is detachnewthreadselector.
Here are two instances, creating a multithreaded instance that supports passing parameters.
Initwithtarget Way
main.m// initwithtarget// Created by exchen on 5/8/15.// Copyright (c) exchen. All rights reserved.//#import <Foundation/Foundation.h> @interface classa:nsobject-(void) Startthread: ( NSString *) str; @end @implementation classa-(void) Startthread: (NSString *) str{ sleep (3); NSLog (str); Exit (0);} @endint Main (int argc, const char * argv[]) { @autoreleasepool { //Insert code here ... NSLog (@ "Hello, world!"); } ClassA *a = [[ClassA alloc] init]; Nsthread *thread = [[Nsthread alloc] initwithtarget:a selector: @selector (startthread:) object:@ "Start"]; [Thread start]; Sleep (5); return 0;}
Detachnewthreadselector Way
main.m// testthread//// Created by exchen on 5/8/15.// Copyright (c) exchen. All rights reserved.//#import <Foundation/Foundation.h> @interface classa:nsobject-(void) Startthread: ( NSString *) str; @end @implementation classa-(void) Startthread: (NSString *) str{ NSLog (@ "%@", str); Exit (0);} @endint Main (int argc, const char * argv[]) { @autoreleasepool { //Insert code here ... NSLog (@ "Hello, world!"); ClassA *a = [[ClassA alloc] init]; [Nsthread detachnewthreadselector: @selector (startthread:) totarget:a withobject:@ "Start"]; Sleep (5); } return 0;}
Objecttive-c Creating multithreading