草庐IT

multiple-dispatch

全部标签

ios - 为什么我会因 dispatch_once 而陷入僵局?

为什么我会陷入僵局?-(void)foo{staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{[selffoo];});//whatever...}我希望foo在第一次调用时执行两次。 最佳答案 现有的答案都不太准确(一个完全错误,另一个有点误导并遗漏了一些关键细节)。首先,让我们去righttothesource:voiddispatch_once_f(dispatch_once_t*val,void*ctxt,dispatch_function_tfunc){str

iphone - 如何检查 dispatch_async block 是否已完成运行

所以基本上我需要能够在一个block完成运行后运行一个segue。我有一个block可以做一些JSON的事情,我需要知道它什么时候结束运行。我有一个名为json_queue的队列。jsonQueue=dispatch_queue_create("com.jaboston.jsonQueue",NULL);然后我有一个语法如下的dispatch_asyncblock:dispatch_async(jsonQueue,^{[selfdoSomeJSON];[selfperformSegueWithIdentifier:@"modaltomenu"sender:self];});它不会让我执

iphone - 主队列上的 dispatch_sync 和 executeFetchRequest 之间的死锁 :error:

我正在dispatch_sync()在主队列中插入一个block。在此block中,最终调用了executeFetchRequest:error:。有时,这会导致死锁。这是线程1,它显示了在主线程上调用的block,然后调用了executeFetchRequest:error:#00x981f3876in__psynch_mutexwait()#10x97a016afinpthread_mutex_lock()#20x0135be32in-[_PFLocklock]()#30x0135be0ain-[NSPersistentStoreCoordinatorlock]()#40x0137

ios - xcode 10 错误 : multiple commands produce - react native

所以已经有很多这样的问题,但我有同样的错误,不与cocoapods或info.plist有关,至少我不认为,因为没有这些解决方案对我有用。我最近刚升级到Xcode10.0,构建我的Reactnative应用程序时出现此错误:Multiplecommandsproduce'/Users/username/Library/Developer/Xcode/DerivedData/appname-code/Build/Products/Release-iphoneos/appname.app':1)Target'appname'hascreatedirectorycommandwithoutp

ios - 为什么 Apple 建议在串行后台队列中分派(dispatch) OpenGL 命令,因为这不可避免地会导致崩溃?

他们suggest:WhenusingGCD,useadedicatedserialqueuetodispatchcommandstoOpenGLES;thiscanbeusedtoreplacetheconventionalmutexpattern.我不明白这个建议。存在我无法解决的冲突:当应用的应用委托(delegate)接收到-applicationWillResignActive调用时,它必须立即停止调用任何OpenGL函数。如果应用在-applicationWillResignActive返回后继续调用OpenGL函数,应用将崩溃。如果我按照Apple的建议在串行后台队列中调

ios - dispatch_group_notify 不等待一个 dispatch_group_async

两个并发的后台任务需要修补两个单独的数组,需要合并到一个dispatch_group_notifyblock中。问题是,第一个block超出了,但是dispatch_group_notify超出了,没有等待第二个后台任务的执行。它们之间的唯一区别是第一个进行本地搜索,第二个对Web服务进行远程调用。知道为什么跳过第二个吗?编辑:我也尝试了https://stackoverflow.com/a/19580584/859742中提到的方法使用dispatch_barrier_async但仍然相同。dispatch_group_ttaskGroup=dispatch_group_create

ios - CFRunLoopPerformBlock 与 dispatch_async

我在后台线程上有一些计算工作,之后我需要更新一些calayer的转换,我尝试使用dispatch_async(dispatch_get_main_queue(),^{calayer.transform=newTransform});和CFRunLoopPerformBlock(CFRunLoopGetMain(),kCFRunLoopCommonModes,^(void){calayer.transform=newTransform});我只是觉得他们是一样的,但我发现calayer在使用dispatch_async时工作得非常顺利(也许?)。这两个函数有什么不同?

ios - XCode: 'Warning: Multiple build commands for output file' 但如果我删除重复项,我会收到错误消息

我得到错误:Warning:Multiplebuildcommandsforoutputfile/Users/me/Library/Developer/Xcode/DerivedData/myapp-csoyvdzaugzkszeagjrtzrfssudr/Build/Products/Debug-iphonesimulator/myapp.app/icon-72.pngWarning:Multiplebuildcommandsforoutputfile/Users/me/Library/Developer/Xcode/DerivedData/myapp-csoyvdzaugzksze

java - Spring 集成版本 3.0 : Splitting TCP stream message into multiple Messages based on content

我正在使用spring集成框架连接到一些遗留服务器套接字。下面是我的客户端工厂和适配器:在流到字符串转换器的下方:下面的部分是空的,因为我不确定在这里要实现什么,以便它可以调用我的路由器,而路由器将完成它的业务。我已经尝试使用拆分器,它确实有效,如果流以“ABCDEFGHWXYZ”或“ABCD”的所需格式出现,但如果流以“ABCDXXXXEFGHWXYZ”的形式出现,则它会失败。期望的结果是它应该处理3条消息和1个错误。但它处理了1条消息,其余的都被忽略了。下面的代码:和MessageSpliterBean类如下:@SplitterpublicList>splitMessage(Mes

c# - 使用 TCP : "The message could not be dispatched..." 时收到错误

我不熟悉创建WCF服务。我在VS2008中创建了一个运行在IIS7上的WCFWeb服务。当我使用http时,该服务运行良好。当我为TCP配置服务并运行时,我收到以下错误消息。Therewasacommunicationproblem.Themessagecouldnotbedispatchedbecausetheserviceattheendpointaddress'net:tcp://elec:9090/CoordinateIdTool_Tcp/IdToolService.svcisunavailablefortheprotocoloftheaddress.我搜索了很多论坛,包括这个