タグ付けされた質問 「asynchronous」

非同期プログラミングは、通常、ソフトウェアのパフォーマンス、応答性、および/または構成可能性を向上させるために、待ち時間が長いか優先度の低い操作を延期するための戦略です。このような戦略は、通常、イベント駆動型プログラミングとコールバックを組み合わせて使用​​し、オプションでコルーチンやスレッドを介して同時実行性を利用します。

2
mocha before()の非同期関数は常にit()仕様の前に終了していますか?
before()データベースをクリーンアップするためのコールバック関数があります。すべてが開始before()前に完了することが保証されていit()ますか? before(function(){ db.collection('user').remove({}, function(res){}); // is it guaranteed to finish before it()? }); it('test spec', function(done){ // do the test }); after(function(){ });

11
「非同期イベント」の定義がわかりやすい?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 2年前休業。 ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 私はこの用語に何度も遭遇しましたが、グーグルの後でさえ、それが正確に何を意味するのかまだ理解できません。誰かが提供できる非同期イベントとは何かについて理解しやすい(理想的には例を示す)定義がありますか? ありがとう!

3
Entity Framework 6のマルチ非同期?
これは私のコードです: var banner = context.Banners.ToListAsync() var newsGroup = context.NewsGroups.ToListAsync() await Task.WhenAll(banner, newsGroup); しかし、コントローラーから関数を呼び出したとき。エラーが表示されました 前の非同期操作が完了する前に、このコンテキストで2番目の操作が開始されました。'await'を使用して、このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認します。インスタンスメンバーは、スレッドセーフであることが保証されていません。 この問題の解決にご協力ください。

1
非同期POSTがWP7とF#で失敗する
私が行うとき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()、値の条件に応じて、次のように2つの異なるプロセスを開始する必要があります。 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(); } }) しかし、これに関して、私は2つの質問があります: 新しいpromiseを開始してから、promiseでプロセスを開始するのが良い考えかどうかはわかりません。 最後に1つの関数を呼び出すために2つのプロセスが必要な場合はどうなりますか?それは彼らが同じ「ターミナル」を持っていることを意味します 私は元のチェーンを次のように保つために新しい約束を返そうとしました: promise().then(function(value){ if(//true) { // call a new function …

8
PHPでの非同期関数呼び出し
私はPHPWebアプリケーションに取り組んでおり、ユーザーの要求に基づいてリモートサーバーから誰かをフェッチするなど、要求でいくつかのネットワーク操作を実行する必要があります。 関数にデータを渡す必要があり、関数からの出力も必要な場合、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()関数は、HTTPPOSTリクエストを実行するだけです。 リモートサーバーはサードパーティの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句の本文で待機できません OK、なんらかの理由で禁止されていますが、ここでの正しいコードパターンは何ですか? 編集: 幸いなことに、C#6.0では、catchとfinallyブロックの両方で待機呼び出しが許可される可能性があります。

2
トルネードはいつどのように使用しますか?いつ役に立たないのですか?
わかりました。トルネードは非ブロッキングで非常に高速で、多くの継続的なリクエストを簡単に処理できます。 しかし、それは特効薬ではないと思います。DjangoベースのサイトやTornadoを使用する他のサイトを盲目的に実行しただけでは、パフォーマンスは向上しません。 私はこれの包括的な説明を見つけることができなかったので、私はここでそれを尋ねています: トルネードはいつ使用する必要がありますか? いつ役に立たないのですか? それを使用するとき、何を考慮に入れるべきですか? Tornadoを使用して非効率的なサイトを作成するにはどうすればよいですか? サーバーとWebフレームワークがあります。フレームワークはいつ使用する必要があり、いつ他のフレームワークに置き換えることができますか?

5
非同期、ノンブロッキング、イベントベースのアーキテクチャの違いは何ですか?
違いは何ですか: 非同期、 ノンブロッキング、および イベントベースのアーキテクチャ? 何かを非同期と非ブロッキング(およびイベントベース)の両方にすることはできますか? プログラミングで最も重要なことは、非同期、非ブロッキング、および/またはイベントベース(または3つすべて)です。 あなたが例を提供することができれば、それは素晴らしいことです。 私が同様のトピックに関するこの素晴らしいStackOverflowの記事を読んでいたので、この質問が尋ねられていますが、それは上記の私の質問に答えていません。

5
React Reduxでストアの状態にアクセスするにはどうすればよいですか?
reduxとの非同期を学ぶための簡単なアプリを作っているだけです。すべてが機能するようになりました。今は、実際の状態をWebページに表示したいだけです。では、renderメソッドで実際にストアの状態にアクセスするにはどうすればよいですか? これが私のコードです(私は学習しているだけなので、すべてが1ページにあります): 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()、それは大変な作業のようです。 あるいは、非ブロッキングioの代わりに、プログラムが閉じる前にクリーンアップを行うためにctrl-cキーを押す方法はありますか?

6
スレッドと非同期
この本当に良い記事から、プログラミングのスレッドモデルと非同期モデルについて読んでいます。http://krondo.com/blog/?p=1209 ただし、この記事では次の点について言及しています。 非同期プログラムは、I / Oがあるときはいつでもタスクを切り替えることにより、同期プログラムよりもパフォーマンスが優れています。 スレッドはオペレーティングシステムによって管理されます。 スレッドは、(他のキューの中でも)Ready-QueueとWaiting-Queueの間でTCBを移動することにより、オペレーティングシステムによって管理されていることを読んだことを覚えています。この場合、スレッドは待機に時間を無駄にしませんか? 上記に照らして、スレッドプログラムに対する非同期プログラムの利点は何ですか?

8
JAVAで非同期HTTPリクエストをどのように作成しますか?
私はJavaにかなり慣れていないので、これは一部の人には明白に思えるかもしれません。私はActionScriptで多くの作業を行ってきましたが、これは非常にイベントベースであり、それが大好きです。最近、POSTリクエストを実行するJavaコードを少し書き込もうとしましたが、同期リクエストであるという問題に直面したため、コードの実行はリクエストが完了するか、タイムアウトするか、エラーが発生するのを待ちます。 コードが実行を継続し、HTTPリクエストが完了するとコールバックが呼び出される非同期リクエストを作成するにはどうすればよいですか?スレッドをちらっと見ましたが、やり過ぎだと思います。

3
コードの非同期バージョンと同期バージョンの両方が必要な場合に、DRY原則に違反しないようにするにはどうすればよいですか?
同じロジック/メソッドの非同期バージョンと同期バージョンの両方をサポートする必要があるプロジェクトに取り組んでいます。だから例えば私は持っている必要があります: public class Foo { public bool IsIt() { using (var conn = new SqlConnection(DB.ConnString)) { return conn.Query<bool>("SELECT IsIt FROM SomeTable"); } } public async Task<bool> IsItAsync() { using (var conn = new SqlConnection(DB.ConnString)) { return await conn.QueryAsync<bool>("SELECT IsIt FROM SomeTable"); } } } これらのメソッドの非同期ロジックと同期ロジックは、1つは非同期でもう1つはそうでないことを除いて、すべての点で同じです。このようなシナリオでDRYの原則に違反しないようにする正当な方法はありますか?GetAwaiter()。GetResult()を非同期メソッドで使用して、それを同期メソッドから呼び出すことができると人々が言っ​​ているのを見ましたか?そのスレッドはすべてのシナリオで安全ですか?これを行う別のより良い方法はありますか、それともロジックを複製することを余儀なくされていますか?
15 c#  .net  asynchronous 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.