草庐IT

grand-central-dispatch

全部标签

ios - 当应用程序进入后台时继续运行 NSOperationQueue

我正在使用NSOperation(s)下载文件并将它们添加到NSOperationQueue。NSOperationQueue在应用进入后台时被挂起。如果队列不会在后台暂停并开始下一个操作,是否有任何解决方法? 最佳答案 当您的队列正在运行时,使用UIApplicationbeginBackgroundTaskWithExpirationHandler调用启动后台任务,以保持您的下载运行。我通常用它自己的beginBackgroundTaskWithExpirationHandler调用来结束每个操作,并在我调用endBackgro

ios - EXC_BAD_ACCESS 在 dispatch_async 中使用 "freed"self 时

我有一个使用iOS7中新的SpriteKit编写的游戏。我有一个自定义的SKSpriteNode,它可以获取并显示Facebook个人资料图片。但是,由于加载图片可能需要一些时间。我尝试在初始化节点时在后台加载图片,并仅在加载图片时显示它。这是我写的代码片段:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{//CodetoloadFacebookProfilepicture//...SKSpriteNode*fbFrame=[SKSpriteNodespriteNodeWithT

ios - 我如何在 GCD 中将一个 block 添加到调度队列的前面?

我想我读过一次关于在GrandCentralDispatch中将block添加到调度队列前面的方法(这样它就不会等待其他待处理的block)。但我在GCDReference中找不到它.有谁知道这是否可能,如果可能的话如何? 最佳答案 没有公共(public)API来“跳转”队列,也没有从队列中删除或重新排序先前入队但尚未执行的block。如果你只是想让一个block以比其他block更高的优先级执行,你可以将它提交到高优先级全局并发队列,但是这样做自然会失去使用特定队列提供的任何并发保证。除此之外,您必须自己实现此功能。做到这一点的

ios - dispatch_after 会阻塞主线程吗?

我正在设置一个计时器,以便在一秒钟后为我的键盘扩展重置一个值。问题是我觉得下面的调用正在拖延我的UI:dispatch_after(dispatch_time(DISPATCH_TIME_NOW,1*NSEC_PER_SEC),dispatch_get_main_queue(),^{[selfresetDoubleTapBool];})有没有一种异步的方式来做到这一点,或者一般来说更好的方式?谢谢! 最佳答案 dispatch_after()调用本身不会阻塞。在指定的时间(或之后不久),block将被提交到主队列。提交它不会阻塞主线

cocoa-touch - 双核 iPad (A5) = Grand Central Dispatch?

iPhoneSDK是否支持GrandCentralDispatch,使我们能够利用新iPadCPU的多核优势? 最佳答案 是的,从iOS4.0开始,iOS就支持GCD。普通线程API(pthread和NSThread)从iOS2.0开始可用 关于cocoa-touch-双核iPad(A5)=GrandCentralDispatch?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

ios - 为什么在 requestAccessToEntity :completion? 中使用 performSegueWithIdentifier 时使用 dispatch_async

当我在完成block中调用performSegueWithIdentifier时,如果我没有将调用包装在dispatch_async中,那么segue实际发生实际上需要10秒。但是,我可以做其他事情而不用将它们包装在同一个dispatch_async中,例如做核心数据工作,或者记录“事情”......关于这是如何工作以及为什么的任何见解......我迷路了。如果这里不适合提出此类问题,我深表歉意。EKEventStore*store=[[EKEventStorealloc]init];[storerequestAccessToEntityType:EKEntityTypeEventco

objective-c - iOS dispatch_async 和 NSURLConnection 委托(delegate)函数未被调用

我认为我已经编辑了这篇文章以使其更易于阅读。在dispatch_asyncblock中完成一些密集的字符串操作后,我需要调用NSUrlConnection。我调用的URL上有.htaccess身份验证,所以我不能使用同步连接。但是NSURLConnection委托(delegate)方法没有被调用。我知道URL在浏览器中大约5秒后加载,并且我已经使用没有身份验证的简单URL测试了代码,结果没有任何区别。什么阻止了调用委托(delegate)方法?此函数执行一些字符串操作,需要一段时间才能完成:-(void)performSearch{//setsomedefaultsandworkou

php - ZF2如何监听特定controller的dispatch事件

如何监听特定Controller的调度事件?目前,我执行以下操作:Module.phppublicfunctiononBootstrap(EventInterface$event){$application=$event->getApplication();$eventManager=$application->getEventManager();$serviceManager=$application->getServiceManager();$eventManager->attach($serviceManager->get('MyListener'));}MyListener.p

深入理解WPF中的Dispatcher:优化UI操作的关键

 概述:Dispatcher是WPF中用于协调UI线程和非UI线程操作的关键类,通过消息循环机制确保UI元素的安全更新。常见用途包括异步任务中的UI更新和定时器操作。在实践中,需注意避免UI线程阻塞、死锁,并使用CheckAccess方法确保在正确的线程上执行操作。这有助于提升应用程序的性能和用户体验。在WPF(WindowsPresentationFoundation)中,Dispatcher 是一个重要的类,它主要用于处理与用户界面相关的操作。WPF的UI元素都有一个关联的Dispatcher,这个对象允许你在非UI线程上执行操作,同时确保这些操作正确地在UI线程上执行。以下是关于Disp

android - 将触摸事件分派(dispatch)给兄弟 View

我开发了一个扩展ViewGroup的自定义布局。现在,我想在Activity中使用它。在我的Activity中,我在框架布局中同时拥有此布局和一个viewpager。我的自定义布局填充了我的框架布局并位于我的viewPager之上。我希望能够处理自定义布局上的点击事件,并让所有其他Action转到viewpager,以便它仍然可以滚动。到目前为止我还没有成功。要么我点击了但viewpager无法再滚动,要么相反。我已经覆盖了onTouchEvent和onInterceptTouchEvent。我注意到,我在我的自定义布局上正确地收到了向下事件,但是一旦它被viewpager捕捉到,我就