ios - 产生处理器时间

标签 ios scheduling

我有一个 GUI 线程和一个计算线程。由于资源有限,计算线程有时会使 GUI 线程卡住并耗尽 CPU 时间。我在发生的计算线程中的确切位置及其在一个紧密的循环中。如果我可以在循环中多次放弃处理时间,GUI 线程就不会被卡住。
如何在 iOS 中放弃控制权?或者创建一个低优先级的线程?
现在我像这样创建新线程:

NSOperationQueue *Queue = [[NSOperationQueue alloc] init];
NSInvocationOperation *Operation =
    [[NSInvocationOperation alloc] initWithTarget:self
                                         selector:@selector(loadLevel)
                                           object:nil];

[Queue addOperation: Operation];

最佳答案

sleep(0) 是将 CPU 交给另一个线程的常见 posix 技巧;但是,你确定你有两个线程吗?这在 iOS 中并不常见。

关于ios - 产生处理器时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346770/

相关文章:

ios - 如何在 web-view swift 中设置代理?

objective-c - 访问 iCloud 通知中已删除的对象

ios - Swift:一个函数修改变量的值,我想在其他地方使用这个变量来更新UI

ios - 如何在推送 View 之前加载 PDF

algorithm - 有约束的一维旅行推销员

linux - 如何实现实用的光纤调度器?

ios - cocoa又报错134100(开店的模型与创建商店的模型不兼容)

go - 为什么 Goroutine 在 Busy Loop 之后还能被调度?

algorithm - 固定长度的圆形聚类

java - 从 Java 发起的数据库查询是否总是阻塞 I/O?