多线程-ios NSThread在start后的运行问题

问题描述

ios NSThread在start后的运行问题
-(void)gogo:(NSString *)str{
    for (int i=0; i<100; i++) {
        NSLog(@"thread in gogo-->%@",[NSThread currentThread]);
        [NSThread sleepForTimeInterval:1.0f];
    }
}
-(void)startGo{
    NSThread *t1 = [[NSThread alloc]initWithTarget:self selector:@selector(gogo:) object:nil];
    [t1 start];
    NSLog(@"thread in startGo -->%@",[NSThread currentThread]);

thread线程已经start了,但是每次程序运行的时候都没有gogo这个方法里面的输出啊???
另外,当我换作[self performSelector之后,就可以看到在gogo中的循环输出了

解决方案

没发现什么不妥,试了一下你的代码是可以走gogo这个方法的.

解决方案二:

是不是用了ARC?如果用了,你的 t1还来不及干什么就会被释放。

解决方案三:

我把你代码拷过来,运行,是对的啊。你再仔细看看。

时间: 2024-09-14 07:48:22

多线程-ios NSThread在start后的运行问题的相关文章

iOS多线程开发——NSThread浅析_IOS

在iOS开发中,多线程的实现方式主要有三种,NSThread.NSOperation和GCD,我前面博客中对NSOperation和GCD有了较为详细的实现,为了学习的完整性,今天我们主要从代码层面来实现NSThread的使用.案例代码上传至 https://github.com/chenyufeng1991/NSThread. (1)初始化并启动一个线程 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated

ios证书安装后 不能运行 设备是9.0的

问题描述 ios证书安装后 不能运行 设备是9.0的 提示 This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed. 解决方案 证书是分app的,你每个都要生成

推送通知-ios 应用进入后台后每小时查数据库并添加本地通知(UILocalNotification)

问题描述 ios 应用进入后台后每小时查数据库并添加本地通知(UILocalNotification) 项目现在需要实现一个应用进入后台后,每小时发出提醒通知的功能.要求如下: 1.每天8点-23点每小时发出一次本地提醒通知 2.提醒的内容是查询本地数据库得到的一个数值,会根据时间的推移而改变 LZ之前用NSTimer计时,每小时去查询数据库并添加UILocalNotification,但是在真机上就算获得了音乐播放器类应用的权限后,在后台运行一段时间,应用依旧会被挂起,导致NSTimer失效.

用户升级iOS 8.0.1后手机无信号 苹果紧急撤回

用户升级iOS 8.0.1后手机无信号 苹果紧急撤回9月25日消息,苹果公司日前紧急撤回了iOS 8操作系统的最新升级版本iOS 8.0.1.据了解,众多用户发现手机安装更新之后没有信号,无法拨打电话.还有用户投诉,升级之后指纹识别Touch ID功能也无法使用.苹果公司公告称,已经收到有关iOS 8操作系统软件更新的问题反馈."我们正在积极调查这些反馈,同时撤回iOS 8的升级版本."同时,用户可继续使用上周发布的iOS 8.苹果公司统计数据显示,访问苹果应用商店的设备中,有46%的

OpenGL ES 背面消隐特性在 iOS 设备与模拟器上的运行效果细微差异

OpenGL ES 背面消隐特性在 iOS 设备与模拟器上的运行效果细微差异 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 2014-01-09补充 ---------------------

Ubuntu登陆账户后自动运行VNCserver

  Ubuntu登陆账户后自动运行VNCserver 问题:远程桌面时,如果重启远程Ubuntu,则VNC会话失效. 解决:一个解决的方法就是用putty将重启的Ubuntu登陆入账户后,再开启VNC会话.为了方便,可以设置将VNC会话在登陆账户后自动启动,且会话号可定,VNC viewer可以保持原来的会话连接. 步骤:在Ubuntu下,进入 /etc/profile.d文件夹,创建文件***.sh,内容为: vncserver :5 即开启会话号为5的VNC会话. 备注:上述方法中/etc/

如何取消软件开机后自动运行

平时安装的软件很多,有时候难免会粗心,在安装的时候没注意,把一些不是很重要的软件在安装的时候设置了"开机后自动运行"这导致了每天电脑开机的时候弹出很多软件. 太烦人了. 那么,针对"软件开机后自动运行"怎么解决呢?相信很多人还不是很清楚吧!西西今天就来教大家怎么去解决这个困扰. 一.软件开机后自动运行,如图: 二.解决方法: 1.打开电脑"开始"菜单,选择运行. 2.在运行中打开"MSCONFIG"后回车 3.在打开的&quo

python多媒体编程 我在安装完PyOpenGL3.0.1后,运行根据书里面写的一个脚本,却出错

问题描述 python多媒体编程 我在安装完PyOpenGL3.0.1后,运行根据书里面写的一个脚本,却出错 python多媒体编程 我在安装完PyOpenGL3.0.1后,运行根据书里面写的一个脚本,却出错 解决方案 这个就是ctypes没找到,你尝试把环境变量什么的好好配置一下

ios做数据缓存后,显示数据的逻辑是怎样的?

问题描述 ios做数据缓存后,显示数据的逻辑是怎样的? ios做数据缓存后,显示数据的逻辑是怎样的?因为有上拉加载更多,和下拉刷新,求思路 解决方案 iOS数据缓存iOS开发数据缓存玩转iOS开发 - 数据缓存 解决方案二: 1.获取服务器数据后,可以写入本地文件中,需要用到的时候再去读取就可以了: 2.分页的话类似的: 解决方案三: 每次加载页面都可以先从缓存里面读取,读不到再网络获取