Questions tagged «asynchronous»

异步编程是一种用于延迟具有高延迟或低优先级的操作的策略,通常是为了提高软件的性能,响应能力和/或可组合性。通常使用事件驱动的编程和回调的某种组合来采用此类策略,并且可以选择通过协程和/或线程并发使用。


11
简单理解“异步事件”的定义吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 2年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我经常遇到这个词,即使在使用Google搜索之后,仍然无法理解它的确切含义。对于某人可以提供的异步事件,是否存在一些易于理解(理想情况下为示例)的定义? 谢谢!


3
实体框架6中的多异步?
这是我的代码: var banner = context.Banners.ToListAsync() var newsGroup = context.NewsGroups.ToListAsync() await Task.WhenAll(banner, newsGroup); 但是当我从控制器调用函数时。显示错误 在先前的异步操作完成之前,第二操作在此上下文上开始。使用“ await”来确保在此上下文上调用另一个方法之前,所有异步操作都已完成。不保证任何实例成员都是线程安全的。 请帮我解决这个问题。

1
WP7和F#上的异步POST失败
当我let! read = from.AsyncRead buf在F#中执行操作时,它阻塞并且直到TCP套接字死掉才返回。为什么?我该如何解决? 其代码: module StreamUtil open System.IO /// copy from 'from' stream to 'toStream' let (|>>) (from : Stream) (toStream : Stream) = let buf = Array.zeroCreate<byte> 1024 let rec doBlock () = async { let! read = from.AsyncRead buf if read <= 0 then toStream.Flush() return …

3
那么如何处理if-else中的诺言?
在某些情况下,当我从promise对象获得返回值时,我需要then()根据值的条件启动两个不同的进项,例如: promise().then(function(value){ if(//true) { // do something } else { // do something } }) 我在想也许我可以这样写: promise().then(function(value){ if(//true) { // call a new function which will return a new promise object ifTruePromise().then(); } else { ifFalsePromise().then(); } }) 但与此同时,我有两个问题: 我不确定开始一个新的诺言是否是个好主意,然后在诺言中进行。 如果我需要两个进程在最后一个函数中调用怎么办?这意味着它们具有相同的“终端” 我试图返回新的承诺,以保持原始链像: promise().then(function(value){ if(//true) { // call a new function …

7
PHP中的异步函数调用
我正在使用PHP Web应用程序,并且需要在请求中执行一些网络操作,例如根据用户的请求从远程服务器中获取某人。 假设我必须将一些数据传递给函数并且还需要从函数输出,是否有可能在PHP中模拟异步行为。 我的代码是这样的: <?php $data1 = processGETandPOST(); $data2 = processGETandPOST(); $data3 = processGETandPOST(); $response1 = makeNetworkCall($data1); $response2 = makeNetworkCall($data2); $response3 = makeNetworkCall($data3); processNetworkResponse($response1); processNetworkResponse($response2); processNetworkResponse($response3); /*HTML and OTHER UI STUFF HERE*/ exit; ?> 给定3个请求,每个网络操作大约需要5秒钟才能完成,因此总共增加了15秒钟的响应时间。 makeNetworkCall()函数仅执行HTTP POST请求。 远程服务器是一个第三方API,因此我对那里没有任何控制权。 PS:请不要回答有关AJAX或其他问题的建议。我目前正在寻找是否可以通过PHP进行此操作,它可能带有C ++扩展名或类似名称。

9
在捕获块中等待
我有以下代码: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } 基本上,我想从一个URL下载,当它失败并出现异常时,我想从另一个URL下载。当然这两个时间都是异步的。但是由于以下原因,代码无法编译 错误CS1985:无法在catch子句的主体中等待 好的,出于任何原因都被禁止,但是这里的正确代码模式是什么? 编辑: 好消息是C#6.0可能会允许catch和finally块中的等待调用。

2
什么时候以及如何使用龙卷风?什么时候没用?
好的,Tornado是非阻塞的,而且运行速度非常快,它可以轻松地处理许多常规请求。 但是我想这不是灵丹妙药,如果我们仅仅使用Tornado盲目地运行基于Django的站点或其他任何站点,它都不会提高性能。 我找不到对此的全面解释,所以我在这里问它: 什么时候应该使用龙卷风? 什么时候没用? 使用时,应考虑什么? 我们如何使用龙卷风打造低效的网站? 有一个服务器和一个网络框架。我们什么时候应该使用框架,什么时候可以用其他框架替换它?

5
异步,非阻塞,基于事件的体系结构之间有什么区别?
之间有什么区别: 异步, 非阻塞,和 基于事件的架构? 事物既可以是异步的又可以是非阻塞的(基于事件的)吗? 在编程中,最重要的是要拥有一些东西:异步,非阻塞和/或基于事件的(或全部基于3个)? 如果您可以提供示例,那就太好了。 有人问这个问题是因为我在阅读有关类似主题的出色StackOverflow文章,但没有回答我上面的问题。

5
如何在React Redux中访问存储状态?
我只是做一个简单的应用程序来学习与redux异步。我已使所有工作正常进行,现在我只想在网页上显示实际状态。现在,我实际上如何在render方法中访问商店的状态? 这是我的代码(所有内容都在一页中,因为我只是在学习): const initialState = { fetching: false, fetched: false, items: [], error: null } const reducer = (state=initialState, action) => { switch (action.type) { case "REQUEST_PENDING": { return {...state, fetching: true}; } case "REQUEST_FULFILLED": { return { ...state, fetching: false, fetched: true, items: action.payload } } case "REQUEST_REJECTED": { …

2
ReactJS组件的异步渲染
我想在我的ajax请求完成后呈现我的组件。 在下面您可以看到我的代码 var CategoriesSetup = React.createClass({ render: function(){ var rows = []; $.get('http://foobar.io/api/v1/listings/categories/').done(function (data) { $.each(data, function(index, element){ rows.push(<OptionRow obj={element} />); }); return (<Input type='select'>{rows}</Input>) }) } }); 但是我收到下面的错误,因为我正在ajax请求的done方法内返回render。 Uncaught Error: Invariant Violation: CategoriesSetup.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other …

10
C无阻塞键盘输入
我正在尝试使用C语言编写一个程序(在Linux上),直到用户按下某个键为止,该程序才会循环运行,但不要求按键即可继续每个循环。 有没有简单的方法可以做到这一点?我认为我可以做到,select()但这似乎需要大量工作。 另外,有没有办法在程序关闭之前捕获ctrl-c按键进行清理,而不是非阻塞io?

6
线程与异步
我一直在阅读这篇非常好的文章,以了解编程的线程模型与异步模型。http://krondo.com/blog/?p=1209 但是,本文提到以下几点。 只要有I / O,异步程序就会在任务之间切换,从而胜过同步程序。 线程由操作系统管理。 我记得曾经读过线程是由操作系统通过在Ready-Queue和Waiting-Queue(以及其他队列)之间移动TCB来管理的。在这种情况下,线程也不会浪费时间等待它们? 鉴于上述情况,异步程序比线程程序有什么优势?

8
如何在JAVA中创建异步HTTP请求?
我对Java相当陌生,因此对于某些人来说这似乎很明显。我已经使用ActionScript进行了大量工作,ActionScript非常基于事件,我很喜欢。我最近尝试编写一小段执行POST请求的Java代码,但是我一直面临着它是一个同步请求的问题,因此代码执行会等待请求完成,超时或出现错误。 如何创建异步请求,使代码继续执行并在HTTP请求完成后调用回调?我瞥了一眼线程,但我认为这太过分了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.