草庐IT

event-dispatching

全部标签

ios - 在 dispatch_async 函数中使用弱 self

我阅读了很多关于使用__weakself的帖子内dispatch_async,现在我有点困惑。如果我有:self.myQueue=dispatch_queue_create("com.biview.core_data",NULL);dispatch_async(self.myQueue,^(void){if(!self.var1){self.var1=...;}dispatch_async(dispatch_get_main_queue(),^(void){if([self.var2superview]){[self.var2removeFromSuperview];}[self.La

ios - 串行队列上的 dispatch_async 和 dispatch_sync 之间的区别?

我创建了一个这样的串行队列:dispatch_queue_t_serialQueue=dispatch_queue_create("com.example.name",DISPATCH_QUEUE_SERIAL);这样调用dispatch_async有什么区别dispatch_async(_serialQueue,^{/*TASK1*/});dispatch_async(_serialQueue,^{/*TASK2*/});dispatch_sync在这个串行队列上这样调用?dispatch_sync(_serialQueue,^{/*TASK1*/});dispatch_sync(_

ios - iPhone - Grand Central Dispatch 主线程

我一直在我的应用程序中成功使用grandcentraldispatch,但我想知道使用这样的东西的真正优势是什么:dispatch_async(dispatch_get_main_queue(),^{...dostuff甚至dispatch_sync(dispatch_get_main_queue(),^{...dostuff我的意思是,在这两种情况下,您都在触发一个要在主线程上执行的block,也就是应用程序运行的位置,这无助于减少负载。在第一种情况下,您无法控制block何时运行。我见过在你发射它们后半秒执行block的情况。第二种情况,类似于[selfdoStuff];对吗?不知

ios - NSOperation 与 Grand Central Dispatch

我正在学习iOS的并发编程。到目前为止,我已经阅读了关于NSOperation/NSOperationQueue的内容和GCD.在GCD上使用NSOperationQueue的原因是什么?反之亦然?听起来GCD和NSOperationQueue都从用户那里抽象出了NSThreads的显式创建。但是,我不清楚这两种方法之间的关系,因此请提供任何反馈! 最佳答案 GCD是一种基于C的低级API,可以非常简单地使用基于任务的并发模型。NSOperation和NSOperationQueue是做类似事情的Objective-C类。NSOpe

redux - flutter redux 中有没有一种方法可以在分派(dispatch)另一个 Action 时分派(dispatch)一个 Action ?

我想实现一个成就系统。我将flutter_redux用于我的应用程序,依此类推,我已经实现了所有逻辑并且运行良好。但是现在我在我的“rootscreen”上发送一个Action(CheckForAchievementsAction),但这带来的效果是,每次发送这个Action时,都会因为“statechange”而flutter重建所有屏幕。您有什么想法或建议可以解决这个问题吗?也许我可以在另一个Action或类似的东西中发送这个Action?因为成就取决于“使用应用程序”...... 最佳答案 只有当组件的View模型发生变化时,

ios - 如何将代码块分派(dispatch)到 iOS 中的同一个线程?

问题的主要方面:是关于iOS的。我能否以某种方式分派(dispatch)代码块,使它们都(a)在后台运行并且(b)在同一线程上运行?我想在后台运行一些耗时的操作,但这些操作必须在同一个线程上运行,因为它们涉及资源,不能在线程之间共享。更多技术细节,如果需要的话:它是关于为ApacheCordova实现一个sqlite插件,ApacheCordova是移动平台上HTML5应用程序的框架。这个插件应该是WebSQL的一个实现以Cordova的插件API的方式。(这意味着,不可能将整个交易包装在单个block中,这可以使一切变得更容易。)这是Cordova文档中的一些代码:-(void)my

PHP - 作业/队列 - 类分派(dispatch)不存在

我正在尝试在Laravel中使用队列,并为此安装了Redis和Horizo​​n。我的用户可以通过前端上传图片。发生这种情况时,它会调用store方法:publicfunctionstore(Stream$stream){//Validatetherequest.$validate=request()->validate(['file'=>'mimes:jpeg,jpg,bmp,png,gif,pdf',]);ImportDocuments::dispatch($stream);}在我的Jobs/ImportDocuments.php类中,我有这段代码:classImportDocum

events - 连接 Redis 事件到 Lua 脚本执行和并发问题

我已经对键值对或使用Redisson库构建的数据结构进行了分组。设计是任何一组值的值变化都应作为事件发送到订阅Lua脚本。然后这些脚本进行计算并更新另一组的键值对。这个过程是作为一个链来实现的,一旦Lua脚本更新了一个键值,它就会生成一个事件,另一个Lua脚本会根据某些参数执行类似于第一个Lua脚本的工作。问题一:Lua脚本与事件如何关联?问题2:事件是流水线式的,但我的Lua脚本可能必须等待网络IO。在那种情况下,我假设处理了下一个事件并执行了订阅脚本。这对我来说是个问题,因为第一个脚本尚未完成更新所需的键值对,第二个脚本正在继续其工作。这会给我带来错误。有办法克服这个问题吗?问题3

java - Redis中的notify-keyspace-events是什么

我按照这个spring-bootarticle开始设置spring项目.但是突然应用程序无法成功启动,而是我得到以下堆栈跟踪:Exceptioninthread"main"org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'enableRedisKeyspaceNotificationsInitializer'definedinclassorg.springframework.session.data.redis.config.annotation.web.http.Redi

java - 嵌入式redis无法启动 - ERR Unsupported CONFIG parameter : notify-keyspace-events

我使用的是embedded-redis0.6版本和spring-session-data-redis1.0.1.RELEASE。在使用mvnspring-boot:run命令执行springboot后,tomcat服务器启动但嵌入式redis立即抛出以下异常(参见下面的完整堆栈跟踪):redis.clients.jedis.exceptions.JedisDataException:ERRUnsupportedCONFIGparameter:notify-keyspace-events我该如何解决这个问题?我的pom.xml:org.springframework.sessionspr