Tag: 多任务

如何在iOS Swift中实现multithreading,并发或并行?

有什么办法可以在Swift中创build一个工作线程?例如,如果有一个主要的function需要大量的计算,并因此导致主线程延迟几秒钟,如果我想将该function移动到单独的线程或不阻塞主线程的线程有没有办法用Swift做到这一点? 我已经浏览了Swift的Apple文档的基本和高级组件,但没有提及并发性或并行性,有谁知道如何做(如果可能)?

goroutines最大数量

我可以使用多less个肠衣? 例如维基百科说,在Erlang中,可以创build2000万个进程而不会降低性能。 更新:我刚刚在goroutines性能上调查了一下,得到了这样的结果: 看起来goroutine的寿命更多的是计算sqrt()1000次(〜45μs),唯一的限制就是内存 Goroutine花费4 – 4.5 KB

操作系统调度程序如何重新获得CPU的控制权?

我最近开始学习CPU和操作系统是如何工作的,而且我对使用提供多任务操作系统的单CPU机器的操作有些困惑。 因此,假设我的机器只有一个CPU,这意味着在任何时候只有一个进程可以运行。 现在,我只能假定操作系统用来控制访问贵重CPU时间的调度程序也是一个过程。 因此,在这台机器中,用户进程或调度系统进程在任何给定的时间点运行,但不是两者都运行。 所以这是一个问题: 一旦调度程序将CPU的控制权交给另一个进程,又如何重新获得CPU时间来再次运行以执行其调度工作呢? 我的意思是,如果当前正在运行的任何进程没有放弃(产生)CPU,那么调度器本身如何再次运行并确保正确的多任务处理呢? 到目前为止,我一直在想,如果用户进程通过系统调用请求I / O操作,那么在系统调用中,我们可以确保调度器再次分配一些CPU时间。 但我甚至不确定这是否有效。 另一方面,如果用户进程本质上是CPU限制的,那么从这个angular度来看,它可以永远运行,从不让其他进程,甚至是调度器再次运行。 假设一个时间片调度,我不知道如何调度程序可以分割执行另一个进程的时间,甚至没有运行? 我真的很感谢你在这方面可以提供的任何见解或参考。

在iOS 7中检测后台应用程序刷新的用户设置

从iOS 7开始,Apple的多任务API允许应用程序以三种新的后台模式运行:后台提取,远程通知内容和后台传输服务。 苹果还为iOS用户提供了控制是否允许所有应用程序在后台运行,或者是否可以在后台运行单个应用程序(设置>常规>后台应用程序刷新)的function。 有没有办法让我的应用程序以编程方式检测用户是否禁用了我的应用程序在后台刷新的能力?

在AppDelegate中使用背景/前景方法

我打算在我的应用程序中实现多任务。 我可以看到许多方法在AppDelegate这样做applicationWillResignActive , applicationDidEnterBackground , applicationWillEnterForeground ,… 但是……我没有看到他们应该使用的方式,也不知道他们为什么不在ViewControllers中,也不是他们在这里。 我的意思是:当应用程序进入后台,我不知道我的用户是哪个视图。 回来,当应用程序进入前台,我怎么知道该怎么做,我可以打电话,更新视图例如? 我会理解,如果这些方法在每个视图控制器,但在这里,我没有看到他们可以用什么具体的方式… 你能帮我理解实现这些方法的方法吗?

是否有可能select你的iPad应用程序在iOS 9上的多任务处理

我有一个大的应用程序,我将需要一些时间来优化iOS9。 编辑:我担心的是所有的用户界面挤在一起,当应用程序窗口大小减less。 所以我的问题是,有没有办法强制全屏的应用程序?

无效的包错误 – “需要启动故事板”

当我尝试使用Xcode将应用程序提交给商店时,我不断收到此错误: 错误ITMS-90475:“Invalid Bundle。iPad多任务处理支持需要捆绑启动故事板”com.companyname.appname。“ 任何人都知道这个错误是什么意思?

是否使用任务(TPL)库使应用程序multithreading?

最近在接受采访时,我得到了这个问题。 问:你写了multithreading应用程序吗? 答:是的 问:要多解释一下? 答:我使用Tasks (任务并行库)来执行一些任务,如waiting for some info from internet while loading UI 。 这提高了我的应用程序可用性。 问:但是,您刚刚使用过TPL意味着您已经编写了multithreaded应用程序? 我:(不知道该说什么1) 那么,什么是一个multithreading应用程序? 与使用Tasks不同吗?

处理applicationDidBecomeActive – “视图控制器如何响应应用程序变为活动?

我有我的主AppDelegate.m类中的UIApplicationDelegate协议,并定义了applicationDidBecomeActive方法。 我想调用一个方法,当应用程序从后台返回,但方法是在另一个视图控制器。 我怎样才能检查哪个视图控制器当前显示在applicationDidBecomeActive方法,然后调用该控制器内的方法?

目标c – 正确使用beginBackgroundTaskWithExpirationHandler

我有点困惑如何以及何时使用beginBackgroundTaskWithExpirationHandler 。 苹果在他们的例子中展示了如何在applicationDidEnterBackground委托中使用它,以获得更多的时间来完成一些重要的任务,通常是networking事务。 当看我的应用程序,似乎我的大部分networking的东西是重要的,当一个开始,我想完成它,如果用户按下主页button。 那么, beginBackgroundTaskWithExpirationHandler是否可以安全地包装每一个networking事务(我不是在讨论下载大块数据,大部分是简短的xml)呢?