草庐IT

apply_async

全部标签

c++ - packaged_task 和 async 有什么区别

在使用C++11的线程模型时,我注意到std::packaged_tasktask([](inta,intb){returna+b;});autof=task.get_future();task(2,3);std::cout和autof=std::async(std::launch::async,[](inta,intb){returna+b;},2,3);std::cout似乎做同样的事情。我知道如果我用std::launch::deferred运行std::async可能会有很大的不同,但在这种情况下是否存在?这两种方法有什么区别,更重要的是,我应该在哪些用例中使用其中一种?

objective-c - 主队列上的 dispatch_sync 与 dispatch_async

请耐心等待,这需要一些解释。我有一个类似于下面的函数。上下文:“aProject”是一个名为LPProject的核心数据实体,带有一个名为“memberFiles”的数组,其中包含另一个名为LPFile的核心数据实体的实例。每个LPFile代表磁盘上的一个文件,我们要做的是打开每个文件并解析其文本,寻找指向其他文件的@import语句。如果我们找到@import语句,我们希望找到它们指向的文件,然后通过添加与代表第一个文件的核心数据实体的关系来将该文件“链接”到该文件。由于所有这些都可能在大文件上花费一些时间,因此我们将使用GCD在主线程之外完成。-(void)establishImp

objective-c - performSelectorOnMainThread : and dispatch_async() on main queue? 有什么区别

我在修改线程内的View时遇到问题。我尝试添加一个subview,但显示需要大约6秒或更长时间。我终于让它工作了,但我不知Prop体如何。所以我想知道它为什么起作用以及以下方法之间有什么区别:这有效-立即添加了View:dispatch_async(dispatch_get_main_queue(),^{//someUImethodsej[viewaddSubview:otherView];}这需要大约6秒或更长时间才能显示:[viewControllerperformSelectorOnMainThread:@selector(methodThatAddsSubview:)withO

python - multiprocessing.Pool : When to use apply, apply_async 或映射?

我还没有看到关于Pool.apply用例的明确示例,Pool.apply_async和Pool.map.我主要使用Pool.map;别人的优点是什么? 最佳答案 在Python的旧时代,要调用带有任意参数的函数,您可以使用apply:apply(f,args,kwargs)apply在Python2.7中仍然存在,但在Python3中没有,一般不再使用。如今,f(*args,**kwargs)是首选。multiprocessing.Pool模块尝试提供类似的接口(interface)。Pool.apply与Pythonapply类似

c# - Await 运算符只能在 Async 方法中使用

这个问题在这里已经有了答案:Can'tspecifythe'async'modifieronthe'Main'methodofaconsoleapp(19个回答)关闭5年前。我正在尝试制作一个简单的程序来测试VisualStudio2012中新的.NET异步功能。我通常使用BackgroundWorkers来异步运行耗时的代码,但有时对于相对简单(但昂贵)操作。新的async修饰符看起来很好用,但不幸的是我似乎无法进行简单的测试。这是我在C#控制台应用程序中的代码:staticvoidMain(string[]args){stringMarsResponse=awaitQueryRov

javascript - 将 redux-saga 与 ES6 生成器结合使用与 redux-thunk 与 ES2017 async/await 结合使用的优缺点

现在有很多关于redux镇最新小子的讨论,redux-saga/redux-saga.它使用生成器函数来监听/调度Action。在深入了解它之前,我想知道使用redux-saga的优缺点而不是下面我使用redux-thunk的方法使用异步/等待。一个组件可能看起来像这样,像往常一样调度操作。import{login}from'redux/auth';classLoginFormextendsComponent{onClick(e){e.preventDefault();const{user,pass}=this.refs;this.props.dispatch(login(user.v

javascript - 将 .apply() 与 'new' 运算符一起使用。这可能吗?

在JavaScript中,我想创建一个对象实例(通过new运算符),但将任意数量的参数传递给构造函数。这可能吗?我想做的是这样的(但下面的代码不起作用):functionSomething(){//initstuff}functioncreateSomething(){returnnewSomething.apply(null,arguments);}vars=createSomething(a,b,c);//'s'isaninstanceofSomething答案从这里的响应中可以清楚地看出,没有内置方法可以使用new运算符调用.apply()。然而,人们提出了一些非常有趣的解决方案

javascript - call 和 apply 和有什么不一样?

使用Function.prototype.apply()和Function.prototype.call()调用函数有什么区别?varfunc=function(){alert('hello!');};func.apply();vsfunc.call();上述两种方法之间是否存在性能差异?什么时候最好使用call而不是apply,反之亦然? 最佳答案 不同的是,apply允许您使用arguments作为数组来调用函数;call需要明确列出参数。一个有用的助记符是“A表示a射线,C表示comma。”参见MDN的文档apply和call

javascript - 哪些浏览器支持<script async ="async"/>?

2009年12月1日,Google宣布支持asynchronousGoogleAnalyticstracking.异步跟踪是使用的async指令实现的。标记。哪些浏览器支持异步指令()以及从哪个版本开始? 最佳答案 google指定的异步支持是通过两个部分实现的:使用页面上的脚本(该脚本由google提供)将标签写入DOM。该脚本具有async="true"属性以向兼容的浏览器发出信号,表明它可以继续呈现页面。第一部分适用于不支持的浏览器标签,允许他们通过“hack”(虽然相当可靠)加载异步,并且还允许在不等待ga.js被检索的情况

ruby - perform_async 在 sidekiq 中不起作用

我正在尝试使用sidekiq在后台处理一些请求(它与padrino框架集成)。我的期望是,一旦调用了worker,请求处理程序会立即将答案返回给用户。为了确保它正常工作,我实现了一个worker,它会在完成处理之前打印一些消息并休眠大约44秒(以模拟后台的长时间处理)。令我惊讶的是,请求一直卡在工作人员完成工作之前。只有在那之后,请求处理程序才能向用户返回答案。起初我认为sleep函数可能是问题所在,所以我将sleep函数替换为忙碌的一段时间,但我有相同的行为:请求处理程序挂起,直到工作人员完成其任务。知道为什么会这样吗?您可以看到以下内容:请求处理程序:get:hardworker,