iOS多线程开发小demo2,NSThread篇
用NSThread创建子线程的3种方法
// 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
利用NSThread在开发中也不常用,了解即可
浙公网安备 33010602011771号