草庐IT

Asynchronous

全部标签

iphone - 同时执行多个方法的最快方法

我有4个方法,每个方法在方法返回之前需要一两秒,这些方法返回UIImage,我需要这些图像以最快的方式显示。-(NSMutableArray*)prepareImages{UIImage*imageToModifyUsingUIImageCategory;NSMutableArray*imageArray=[[NSMutableArrayalloc]initWithObjects:[imageToModifyUsingUIImageCategorydoSomethingAndReturn1],[imageToModifyUsingUIImageCategorydoSomethingAn

objective-c - 使 stringWithContentsOfURL 异步 - 安全吗?

我试图使-[NSStringstringWithContentsOfURL:encoding:error:]异步,通过从后台线程异步运行它:__blockNSString*result;dispatch_queue_tcurrentQueue=dispatch_get_current_queue();void(^doneBlock)(void)=^{printf("done!%s",[resultUTF8String]);};dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,(unsigne

iOS:用于填充异步获取数据的设计模式

我正在开发一个应用程序,它可以从网络中获取数据并将其显示给用户。假设数据是一家餐厅的评论,一条评论显示在一个View上。用户可以向左或向右滑动以转到上一个/下一个评论。数据是异步获取的(每个评论一个线程)。这是问题陈述-假设已获取5条评论,并且用户当前正在查看第3条评论。现在,获取了第6条评论,我想将其作为第4条评论显示给用户(因为第6条评论的发布日期比第5条评论更新)。我的模型类应该如何通知ViewController?我考虑了一些选择-向ViewController提供一个数组,然后发送关于要在特定索引处的数组之间插入的新项目的NSNotifications使用NSFetchedR

ios - 如何在继续 segue 之前等待另一个线程完成?

我有两个UITableViewController,我正在使用Storyboard在它们之间进行切换。在prepareForSegue:sender:中,第一个VC从Web服务获取NSArray,并使用下载的数据设置目标VC的模型。我将下载部分放入dispatch_queue_t中,这样它将异步运行并且不会阻塞UI线程。我想点击一个表格单元格,让UIActivityIndi​​catorView开始旋转,下载照片,当照片下载完毕后,停止旋转器并继续segue。在第一个UITableViewController中,我有一个prepareForSegue:sender:方法:-(void)

iphone - iPhone 上的同步与异步

我想知道我的情况应该怎么做。我必须从休息服务器获取数据并将其显示在我的应用程序上。这个UI是一个webview,如果没有从服务器接收到数据,那么屏幕上就不会显示任何内容。在这种情况下,我是使用异步请求还是同步请求?另外我的另一个问题是异步请求与单独线程上的同步请求之间的区别是什么?(我认为这就是异步所做的)。任何帮助将不胜感激。我是ios的新手。谢谢 最佳答案 您应该始终使用异步加载网络请求。永远不要阻塞等待网络响应的主线程。异步可以在单独的线程上同步,也可以在任何线程的运行循环中调度。希望这对您有所帮助!

ios - 在文档目录中下载或移动文件异步 - iOS

我正在构建一个iOS应用程序,用户可以在其中下载不同的文件。我正在使用URLSessionDownloadTask和URLSession异步下载文件。下载完成后,目标文件夹默认为tmp/目录。所以,当下载结束时,我需要将临时文件移动到另一个目录。对于图片或歌曲,这只需要1秒甚至更少。但是当文件是视频时例如,最多可能需要15秒。问题为了让用户仍然可以与应用交互,我想让这个移动异步。每次我尝试这样做时,文件管理器都会抛出异常。“CFNetworkDownload_xxxxxx.tmp”couldn’tbemovedto“Downloads”becauseeithertheformerdoe

c# - 多个客户端在服务器上调用函数 : Isolate each client calls

我的项目是独立应用程序,然后我决定将其拆分为客户端和服务器,因为我同时需要强大的CPU使用率和可移植性。现在多个客户端可以连接到一台服务器。当1对1处理完成这项工作时,这很容易。现在我需要一次又一次地同时调用相同的函数和范围区域-通过客户端请求-谁能给我一些线索,我应该如何处理这些操作,我需要知道如何在服务器端将客户端进程彼此隔离?我的通信是异步的,服务器收到请求并启动一个新线程。我想我传递了一个参数,其中一个携带客户信息,另一个参数作为作业ID-以帮助客户返回,客户可能会要求多个作业,并且一些作业比其他作业完成得更快-我应该在每次调用时实例化类Process吗?我可以使用静态方法等吗

C#异步套接字问题

我的代码有一个奇怪的问题,目前一切正常,除了发送部分。每当我尝试发送一个数据包时,它实际上会发送许多空数据包,我无法找出原因,我已经用调试器检查过,并且SendPacket函数只被调用了一次。感谢大家! 最佳答案 我看到的是:您将一个数组(loginOutBuffer)传递给Socket.BeginSend()在SendPacket通过OnPacketRecv,但你在OnPacketRecv之后立即清除它.Socket.BeginSend()传入数组时不会复制该数组,因此它将发送现在已清除的数组中的数据,导致另一端出现零。

C# .NET 服务器轮询多个连接 - 有更好的方法吗?

我正在使用.NETC#开发TCP服务器。它使用异步I/O(I/O完成)来同时处理大量客户端。现在,我将所有TCP连接都列在一个列表中,我不断地通过它来寻找任何特定连接的状态机的变化。一旦I/O完成设置了某些标志,给定连接的状态机就会更新。我确信有更好的方法来做到这一点——当前的实现是非常处理器密集型的,因为我没有阻塞等待更新,而是在没有节流的情况下进行轮询。我真的不在乎我的服务器是否在浪费周期,但我猜这是糟糕的设计。我试图找到一种方法来处理特定的连接,只有当I/O完成信号有东西要处理时才处理,而在没有时等待(即sleep)。任何人都可以建议一个好的方法吗?我在想一些线程同步的事情可能会

asynchronous - Node.js TCP 客户端命令/响应

我有一个简单的服务器,你向它发送一个命令,它用\r\n分隔的响应回复。所以我试图在我的客户端上获得一个命令(回调)方法。查看这个简化的代码片段:varnet=require('net');varClient=function(){this.data="";this.stream=net.createConnection(port,host);this.stream.on('data',function(data){varself=this;this.data+=data;self.process()};this.process=function(){var_terminator=/^(