jjzjj

Synchronous

全部标签

java - 使用具有返回值的同步方法包装一系列异步调用

我当前的代码使用一系列最终产生结果的异步过程。我需要以一种同步方法访问每个方法并将结果作为返回值的方式包装它们中的每一个。我想使用执行器服务来执行此操作,以允许其中许多同时发生。我感觉Future可能与我的实现相关,但我想不出实现这一目标的好方法。我现在拥有的:publicclassDoAJob{ResultObjectresult;publicvoidstepOne(){//PassesselfinforacallbackotherComponent.doStepOne(this);}//CalledbackbyotherComponentonceithascompleteddoSt

c++ - 同步和异步 API

我正在开发一个库,它提供一些耗时的服务。我需要每个API有两个版本,一个用于同步函数调用,另一个用于异步。图书馆用户应该决定使用哪个版本,服务结果可能对系统运行的继续(同步调用)至关重要。可能需要在不同的工作线程中完成相同的操作,因为它的结果不需要继续(异步调用)。这种方法有什么问题?有没有更好的方法?是否有为同一API(不使用外部事件或线程)同时提供同步/异步的流行库?这是我要提供的示例:enumStuffStatus{SUCCEED,FAILED,STILL_RUNNING};classIServiceCallback{public:voidlengthyStuffCallback

c++ - 如何等待 asio 处理程序?

我有一个围绕boost::asio::io_service运行的对象,它具有一些属性。类似的东西:classFoo{private://Notanintinmyrealcode,butitdoesn'treallymatter.intm_bar;boost::asio::io_service&m_io_service;boost::asio::strandm_bar_strand;};m_bar只能从通过链m_bar_strand调用的处理程序中使用。这使我不会从这些处理程序中锁定。为了从运行io_service::run()的线程外部设置m_bar属性,我编写了一个asynchron

c++ - boost Asio : Some questions about the tutorial (A synchronous daytime server/client)

我正在尝试使用BoostAsio而不是RakNet,所以我试图按照Boost网站上的示例进行操作,但我有一些问题没有得到解答。这是链接:http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime1.html请注意,我的教程在客户端和服务器上都有效。1)为什么查询需要字符串“daytime”?在服务器设置中找不到它。客户端似乎只在我使用该字符串时连接。(尝试使用“测试”但未连接)2)为什么我不需要给客户端一个连接端口?它是自己搜索这个端口还是在那里并选择手动设置它?提前致谢。

objective-c - Obj-C 中异步方法的同步版本

在Objective-C中创建异步方法的同步版本的最佳方法是什么(对于iOS,以防万一)?假设您有一个包含这两种方法的类:-(void)asyncDoSomething;//Startsanasynchronoustask.Can'tbechanged.-(void)onFinishDoSomething;//Calledwhenthetaskisfinished您将如何实现在任务完成之前不会返回的同步doSomething? 最佳答案 好的,所以你可以声明一个全局bool值,告诉你继续或等待,就在调用你的-(void)asyncD

ios - PFQuery同步调用有效,异步调用失败

我刚开始使用解析,在查询我添加到解析类中的数据时遇到了一些问题。我的问题是我可以让同步调用([queryfindObjects])工作,但是异步调用([queryInBackground...])失败了。下面是两个代码片段:-(void)getAllDataFromParse{//simplequeryworksPFQuery*query=[PFQueryqueryWithClassName:@"wordsDB"];[querysetLimit:1000];NSArray*objects=[queryfindObjects];}//backgroundquerynotworkingPF

ios - 同步保存到 parse.com 时的进度条

有人知道我如何在同步保存到parse.com时显示UIProgressView吗?我尝试在开始同步保存之前显示进度View,并在保存完成后将其隐藏,但这不起作用。它不显示进度View,而是立即开始保存。我开始认为同步保存会占用其他所有内容的所有功能,而异步保存是解决此问题的最佳选择。但在我的例子中,我必须同步保存,因为我在保存后直接显示保存的数据。有人知道如何做到这一点吗?self.startProgress()self.saveSynchronousToParse()self.stopProgress() 最佳答案 “同步”方法也

ios - 在单独的线程中同步与异步相同

最近在学习swift的并发。根据NSOperationclassreference中的apple文档:Whenyouaddanoperationtoanoperationqueue,thequeueignoresthevalueoftheasynchronouspropertyandalwayscallsthestartmethodfromaseparatethread.Therefore,ifyoualwaysrunoperationsbyaddingthemtoanoperationqueue,thereisnoreasontomakethemasynchronous.这是否意味着

javascript - 我们可以强制函数调用完成并返回,然后再继续执行 node.js 中的下一条语句吗?

这里我有一个简单的HTTP服务器。当foo()被调用时,它会根据键获取一个值。但事实证明,当foo(key,redisClient)被调用时,它打印了Iaminsidefoo然后马上去汇报xisnull此时异步redis.get调用结束,现在我明白了Abouttoreturnfromfoowithresult:1这是我期望的值。但现在我的错误检查已经结束,它已经在HTTP响应中写入了错误。在主服务器线程中继续执行任何其他操作之前,我如何确保从foo()中实际获得正确的返回值以存储到x中?varhttp=require('http');varredis=require("redis");

javascript - 使用NodeJS并保存到MongoDB时如何同步多个RESTFul请求?

我一直在尝试使用NodeJS实现RESTFulAPI,我使用Mongoose(MongoDB)作为数据库后端。下面的示例代码在同时发送请求时使用相同的用户名注册多个用户,这不是我想要的。尽管我尝试添加支票!我知道发生这种情况是因为NodeJS的异步特性,但我找不到正确执行此操作的方法。看起来“findOne”方法立即返回,导致registerUser返回,然后处理另一个请求。顺便说一句,我不想​​用单独的API功能检查现有用户,我需要在注册阶段检查。有什么办法吗?Controller.prototype.registerUser=function(req,res){Users.find