ios怎么让当前进程挂起(毫秒级别)

mo_mo_momo 2014-09-23 06:01:54
ios怎么让当前进程挂起(毫秒级别)

挂起我试了 sleep() 函数

最少单位是秒

设了0.9秒

感觉跟没设一样,在调试情况下很快

问下大家ios(xcode开发的)怎么实现毫秒级别的挂起

我说的挂起的意思是

当前进程不走了,让出cpu资源

等到挂起时间到了以后,当前进程恢复,接着往下走
...全文
1400 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReyZhang 2014-09-24
  • 打赏
  • 举报
回复
设置的时间短,你可以尝试在AppDelegate.h 的如下方法中执行
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
            [NSThread sleepForTimeInterval:5];   ////// 阻塞线程5秒,再执行下面的操作
            /////////to do anything
}
Bannings 2014-09-24
  • 打赏
  • 举报
回复
引用 15 楼 mo_mo_momo 的回复:
[quote=引用 13 楼 zhangao0086 的回复:] [quote=引用 12 楼 mo_mo_momo 的回复:] [quote=引用 11 楼 zhangao0086 的回复:] 别让main函数执行完
真是奇了怪了 我 右键 jump to definition 可以找到后面三个值的定义 我一编译 就说,我那个文件出错 but encoding is not supported 然后我就 后面这三个就找不到 jump to definition 的了 注释掉,再开 又找得到了[/quote] 看错误描述,你是不是用了特殊字符?[/quote] 编译时可以了,可是好像没效果啊? 我是在调试的时候设了1000毫秒 可以一点感觉也没有[/quote] 这是OC的对象,要写在m或mm里,你设个5000(5秒)试试
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 13 楼 zhangao0086 的回复:
[quote=引用 12 楼 mo_mo_momo 的回复:] [quote=引用 11 楼 zhangao0086 的回复:] 别让main函数执行完
真是奇了怪了 我 右键 jump to definition 可以找到后面三个值的定义 我一编译 就说,我那个文件出错 but encoding is not supported 然后我就 后面这三个就找不到 jump to definition 的了 注释掉,再开 又找得到了[/quote] 看错误描述,你是不是用了特殊字符?[/quote] 编译时可以了,可是好像没效果啊? 我是在调试的时候设了1000毫秒 可以一点感觉也没有
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 13 楼 zhangao0086 的回复:
[quote=引用 12 楼 mo_mo_momo 的回复:] [quote=引用 11 楼 zhangao0086 的回复:] 别让main函数执行完
真是奇了怪了 我 右键 jump to definition 可以找到后面三个值的定义 我一编译 就说,我那个文件出错 but encoding is not supported 然后我就 后面这三个就找不到 jump to definition 的了 注释掉,再开 又找得到了[/quote] 看错误描述,你是不是用了特殊字符?[/quote] 可以了,估计是复制的时候有了未知字符,一直要我转换 还有 文件名 必须是mm 结尾c和cpp都不行 谢谢了
Bannings 2014-09-24
  • 打赏
  • 举报
回复
引用 12 楼 mo_mo_momo 的回复:
[quote=引用 11 楼 zhangao0086 的回复:] 别让main函数执行完
真是奇了怪了 我 右键 jump to definition 可以找到后面三个值的定义 我一编译 就说,我那个文件出错 but encoding is not supported 然后我就 后面这三个就找不到 jump to definition 的了 注释掉,再开 又找得到了[/quote] 看错误描述,你是不是用了特殊字符?
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 11 楼 zhangao0086 的回复:
别让main函数执行完
真是奇了怪了 我 右键 jump to definition 可以找到后面三个值的定义 我一编译 就说,我那个文件出错 but encoding is not supported 然后我就 后面这三个就找不到 jump to definition 的了 注释掉,再开 又找得到了
Bannings 2014-09-24
  • 打赏
  • 举报
回复
别让main函数执行完
Bannings 2014-09-24
  • 打赏
  • 举报
回复
导入UIKit就行了:

#import <UIKit/UIKit.h>

int main(int argc, char * argv[]) {
    @autoreleasepool {
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            
        });
    }
}
我这也是个空工程
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 8 楼 zhangao0086 的回复:
[quote=引用 7 楼 mo_mo_momo 的回复:] [quote=引用 5 楼 zhangao0086 的回复:] [quote=引用 4 楼 mo_mo_momo 的回复:] 毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
上面的代码都是可以直接用的[/quote] 第一个是NSthread 没有定义 第二个是DISPATCH_TIME_NOW 没有定义 我是新手,请说详细点[/quote] 你现在的开发环境是什么环境?[/quote] 就是xcode ... ,你就当一个空项目就好了,即使是系统的方法也是要引入头文件的吧
Bannings 2014-09-24
  • 打赏
  • 举报
回复
引用 7 楼 mo_mo_momo 的回复:
[quote=引用 5 楼 zhangao0086 的回复:] [quote=引用 4 楼 mo_mo_momo 的回复:] 毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
上面的代码都是可以直接用的[/quote] 第一个是NSthread 没有定义 第二个是DISPATCH_TIME_NOW 没有定义 我是新手,请说详细点[/quote] 你现在的开发环境是什么环境?
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 5 楼 zhangao0086 的回复:
[quote=引用 4 楼 mo_mo_momo 的回复:] 毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
上面的代码都是可以直接用的[/quote] 第一个是NSthread 没有定义 第二个是DISPATCH_TIME_NOW 没有定义 我是新手,请说详细点
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
引用 5 楼 zhangao0086 的回复:
[quote=引用 4 楼 mo_mo_momo 的回复:] 毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
上面的代码都是可以直接用的[/quote] 我加了,不行,需要头文件的吧
Bannings 2014-09-24
  • 打赏
  • 举报
回复
引用 4 楼 mo_mo_momo 的回复:
毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
上面的代码都是可以直接用的
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
毫秒级别.. 900毫秒 也是毫秒级别.... 楼上贴的代码,直接接可以用么? 用加什么头文件吗? 在一个空的xcode项目里直接就可以用了?
mo_mo_momo 2014-09-24
  • 打赏
  • 举报
回复
谢谢大家,我已经找到解决方案了 其实很简单, sleep();的单位是秒; linux内核的系统,提供了更小单位的休眠 单位是 usleep(); 非常方便
jackslong 2014-09-23
  • 打赏
  • 举报
回复
楼主自己都说是毫秒级别的了 又怎么可能会有感觉呢??
ReyZhang 2014-09-23
  • 打赏
  • 举报
回复
毫秒级的挂起,你根本感觉不出来
[NSThread sleepForTimeInterval:0.01];   ////// 10毫秒
Bannings 2014-09-23
  • 打赏
  • 举报
回复
用GCD吧,毫秒太小儿科了,纳秒都可以。 这是10毫秒的GCD延迟:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^{
    
});

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧