第一种:NStread

 1 - (void)viewDidLoad {
 2 [super viewDidLoad];
 3 // Do any additional setup after loading the view, typically from a nib.
 4
 5 /**
 6 * 实现多线程方式之一:NSThread
 7 */
 8 /*
 9 // 获取当前线程
10 NSLog(@"current = %@", [NSThread currentThread]);
11 // 获取主线程
12 NSLog(@"msinThread = %@", [NSThread mainThread]);
13 // 获取当前线程是否为主线程
14 NSLog(@"isMainThread = %d", [NSThread isMainThread]);
15 */
16 #pragma mark - NSThread 手动开辟子线程
17 // 第一个参数:target
18 // 第二个参数:方法
19 // 第三个参数:传参
20 // NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(threadAction) object:nil];
21 // 让多线程启动
22 // [thread start];
23
24 // 使用NSThread和NSObject实现的开辟线程,系统会自动释放,关不关都行
25 // ( *** 了解 ) 结束线程的两种方式
26 // 取消线程 第一种方式
27 // [thread cancel]; // 不是真正取消,而是给线程发送有个信号,通过这个信号进行取消
28 // 直接退出线程 第二种方式
29 // [NSThread exit];
30
31 #pragma mark - NSTread自动开辟子线程
32 // 线程自动开启
33 // 把手动开启的target和select两个参数顺序颠倒
34 // [NSThread detachNewThreadSelector:@selector(threadAction) toTarget:self withObject:nil];
35 }

时间: 2024-08-18 22:52:15

第一种:NStread的相关文章

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 1 package com.hzf.spark.study; 2 3 import java.util.Map; 4 import java.util.Set; 5 6 import org.apache.spark.SparkConf; 7 import org.apache.spark.api.java.JavaPairRDD; 8 import org.apache.s

Unity 人物跟谁手指的移动(第一种方式)

长夜漫漫无心睡眠,敲敲代码,越敲越来劲! 我发现好多小朋友都在玩熊出没之xxxx这个游戏,居然打了一下午都没玩通第2关,我把测试也叫来陪我一起玩! 结果他也打不通,我再去叫策划,他也没打过,我去叫主管,他还是没打过,我再回去叫测试使用游戏修改大师,修改宝石买完全部的装备!结果他还是没打过! (这款游戏,让我人生都变得没有了意义!) 人物跟随手指的移动而移动: 第一种方式: 手指移动了多少,主角就移动多少!(我使用的这种方式,存在问题,手指过快滑动,主角会慢慢跟手指有了距离!) 第二种方式: 手指

tableView   cell 复用 第一种

第一种方法    static NSString * iden = @"dd";    TableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:iden];    if (!cell) {        cell = [[TableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden];     } ret

iOS 清理缓存功能实现第一种方法

1 添加一个提示框效果导入第三方MBProgressHUD #import "MBProgressHUD+MJ.h" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <br><br>/**  *  清理缓存第一种方法  */ -(void)clearCache { dispatch_async(                dispatch_get_global_queue(DISP

[java代码库]-简易计算器(第一种)

简易计算器(效果如图所示) 第一种方案:采用Javascript+html完成计算器,支持+-*/,结果显示不允许使用input输入域(可以考虑使用<span>) <html> <head> <title>简易计算器</title> <script language="javascript">//易错:不是"text/javascript" function doCal(){ //alert(d

Perl,第一种后现代计算机语言

在吴涛大哥的博客上提到这篇文章<Perl,第一种后现代计算机语言>,原文链接:http://www.wall.org/~larry/pm.html 尝试翻译一下(已经发了邮件给Larry Wall,并且征得他的许可),有些句子太哲学,翻译不懂,作者是Perl的设计者,只供学习阅读使用.这里感谢我的英语八级同事在一些翻译上给予我很大的帮助.这篇东西拖的有点久,是我15年的计划之一,现在竟然把这个任务拖到了16年了,毕竟自己在这新的一年里有新的目标,所以会把旧的坑先给填上,后面的一些地方翻译的不是

Struts1.X与Spring集成——第一种方案

spring+struts(第一种方案) 集成原理:在Action中取得BeanFactory,通过BeanFactory取得业务逻辑对象,调用业务逻辑方法. 一,新建一个项目Spring_Struts_01 二,步骤 1.spring和Struts的依赖包配置 *Struts (1)拷贝Struts和jstl的依赖包 (2)在web.xml文件中配置ActionServlet <span style="font-family:KaiTi_GB2312;font-size:18px;&qu

Eclipse 常用技巧 第一种:直接复制法 解决方法是: 第二种:使用link文

快捷方式 0. Ctrl + 1 (快速修复) 1. Ctrl + D (删除当前行) 2. Ctrl + Alt + ↓(复制当前行到下一行) 3. Alt + / 或者说是 Ctrl + 空格(由于后者与输入法的快捷键冲突,所以,我一般都用前者) 作用:快速插入. 4. Alt+Shift+R 重命名非常好用. 5. Ctrl + Q 定位到最后编辑的地方. 6. Ctrl + Shift + O 自动导入包. 7. Ctrl+/ 注释当前行,再按则取消注释. 8. Ctrl+K快速查找.

C#导入Excel 三种方式,64位机器不支持第一种

本文来源于网络搜集,如有不合适之处,请留言. 第一种方式: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server,这种方法的优点是非常的灵活,可以对Excel表中的各个单元格进行用户所需的操作. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0"; 第二种