問題タブ [synchronous]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1500 参照

mmap - mmapはディスク上のファイルに書き込みます(同期/非同期)

mmapの機能について質問があります。カーネルがディスク上のマップされたファイルへのデータの永続化を処理する非同期モードでmmapを使用する場合、前の更新で後の更新を上書きすることは可能ですか?

時間Tで、ディスク上のファイルにメモリマップされているメモリ内の場所を変更し、時間T+1でメモリ内の同じ場所を変更するとします。ファイルへの書き込みは同期的ではないため、カーネルが最初に時間T + 1で変更を取得し、次に時間Tで変更を取得して、メモリマップトファイルに不整合が生じる可能性はありますか?

0 投票する
1 に答える
1165 参照

iphone - CFHost DNS 解決 - 同期 API を使用できるのはいつですか?

私は数か月前に iPhone Developer Tech Talk に行き、そこにいる専門家の 1 人に、iPhone に NSHost がないことについて尋ねました。私が iPhone に移植していた一部のコードでは、ネットワーク コード全体で NSHost を大幅に使用していました。

NSHost は iPhone 上にあると言われましたが、プライベートです。また、NSHost は同期 API であり、とにかく使用すべきではないと言われました。(おまけとして、なぜそれを使用すべきではないのかを誰かが詳しく説明できれば、それは素晴らしいことです。)

メイン スレッドで同期 API を使用する場合の注意点は、完了するまでブロックするという点です。これはネットワーク コードでは決して良いことではありません。API がスレッドを大量にブロックする原因となる要因が非常に多いためです。時間の。

私の解決策は、CFHost の非同期解決関数のラッパーを作成することでした。

結果は非常にうまく機能し、パブリック ドメインにリリースすることを検討しています。

しかし、私の質問は次のとおりです。私のアプリは、接続フェーズ中に実行ごとに 1 回だけホスト名を解決し、残りのセッションではそれをキャッシュするとします。解決している間、モーダル画面が表示され、ユーザーに素敵なスピナーで「接続中」と通知されます。

解決が非同期であるかどうかは本当に重要ですか?? とにかくユーザーは接続を待つ必要があり、解決は最初の接続でのみ行われます。以降の接続では、キャッシュされた解決結果が使用されます。

同期でよいのはいつで、非同期でよいのはいつですか?

0 投票する
4 に答える
14350 参照

jquery - ループを続行する前に各関数が完了するのを待つjQueryでループを作成する方法

これが明らかなものであるならば、私を許してください。

ページに不明な数の要素があり、一度に1つずつループして、処理を行う必要があります。ただし、要素で使用される関数が完了するまでループを一時停止してから、次の反復に進む必要があります。

$ .eachループでこれを実行しようとしましたが、コマンドがすぐに実行され、コマンドが完了するのを待たずに終了しました。

何か案は?

これは私が持っているもので、非常に単純です。ここからwait()関数を取得しました:jqueryクックブックサイト

問題は、ループが待機しないことです。実際のコマンドは意図したとおりに機能します。すべてが一度にオフになるだけです。

助けてくれてありがとう。

編集:これが実行された後、ループを再度実行して、要素のリストが順番にフェードイン/フェードアウトされるようにすることができます

EDIT2:1.4.2 jQuery libを取得してから、1.3.2を使用していたため、カスタムのwait()関数を使用していました。lobstrosityで説明されているように、delay()を使用しています。lobstrosityに感謝します:)。

0 投票する
2 に答える
225 参照

silverlight - 同期 Web サービスとモーダル ダイアログ!

質問は....

アプリケーションはおそらくSilverligthにあります。

SYNChonous WebService 呼び出しを実装することは可能ですか?

SL でグリッド、編集、および Web サービスを使用して、アプリケーション RIA を実現しようとしていますが、SYNC 呼び出しなしでそれを可能にする方法がわかりません。

また、一部のタスクには MODAL DIALOGS を使用する必要があります。

ThreadPool 内で Web サービス呼び出しを同期的に実行することを管理している Daniel Vaughan の作業を調査しましたが、その GUI を実行するにはどうすればよいですか? Web サービスへの呼び出しを待つにはどうすればよいですか?

Daniel Vaughan Web: http://danielvaughan.orpius.com/post/Synchronous-Web-Service-Calls-with-Silverlight-2.aspx

他の言語のこれらの基本的なものを組み合わせることで、IMHO は真のアプリケーションを構築することができます。

提案を聞く...

チェバ。

0 投票する
3 に答える
3051 参照

java - Java で同期メソッドを非同期にするより良い方法を推奨する

クラスには、同期的に実行されるいくつかのメソッドがあります。最初のアイデアは、それをラップし、switch enum を使用してどの関数を呼び出すかを決定することでした。しかし、呼び出されるメソッドごとに、ラッパー クラスに新しいメソッドと新しい列挙型が必要でした。次のようになります。

その後、リフレクションについて学び、新しいアイデアを思いつきました。つまり、メソッドを直接呼び出すのではなく、文字列を使用してメソッドを呼び出します。ラッパー クラスは文字列を読み取って解析し、リフレクションを使用してクラスとそれを含むメソッドを取得します。パラメータと Method オブジェクトをクラスに入れ、それをキューに入れます。クラスは、列挙型を使用して切り替える代わりに、Method.invoke(params) を使用するようになりました。しかし、これの問題は、コンパイラ時の型チェックが失われることです。

もちろん、これはすべて void のメソッドに対してのみ機能しますが、もちろん Future クラスを使用して値を返すこともできます。

現在、同期呼び出しを非同期呼び出しに切り替えることを既に実装しているフレームワークはありますか、またはこれを行う他の方法を知っていますか。

0 投票する
1 に答える
4447 参照

asynchronous - 同期呼び出しは、タイムアウト値が小さい非同期呼び出しではありませんか?

同期呼び出しが非同期呼び出しと異なる理由について少し混乱しています。「即時」応答は決してないので、それでも数ナノまたはミリ秒かかりますか?

0 投票する
4 に答える
1941 参照

winapi - MSDN ReadFile() によると、Win32 関数は読み取り操作の完了を誤って報告する場合があります。いつ?

MSDN は、ReadFile()機能の説明で次のように述べています。

hFile が で開かれる場合FILE_FLAG_OVERLAPPED、lpOverlapped パラメータは有効で一意の構造体を指す必要がありますOVERLAPPED。そうしないと、関数が読み取り操作が完了したと誤って報告する可能性があります。

上記の推奨事項に違反しているアプリケーションがいくつかあり、問題の深刻度を知りたいです。つまり、プログラムは で作成された名前付きパイプをFILE_FLAG_OVERLAPPED使用しますが、次の呼び出しを使用してそこから読み取ります。

つまりNULL、パラメーターとして渡されlpOverlappedます。ドキュメントによると、その呼び出しは状況によっては正しく機能しないはずです。問題を再現するために多くの時間を費やしましたが、再現できませんでした! 私は常にすべてのデータを適切な場所に適切なタイミングで取得しました。ただし、名前付きパイプのみをテストしていました。

ReadFile() が誤って返され、データがまだバッファにない場合でも正常に完了したことを報告することを期待できるのはいつですか? 問題を再現するにはどうすればよいですか? ファイル、パイプ、ソケット、コンソール、またはその他のデバイスで発生しますか? 特定のバージョンの OS を使用する必要がありますか? または特定のバージョンの読み取り (ハンドルを I/O 完了ポートに登録するなど)? または、プロセス/スレッドの読み取りと書き込みの特定の同期?

または、いつ失敗しますか?わたしにはできる :/

助けてください!

よろしく、 マーティン

0 投票する
7 に答える
2894 参照

winapi - 同期 I/O 用に開かれた HANDLE を、存続期間中に非同期 I/O 用に開くように変更することはできますか?

Windows での私の日常的なプログラミング作業のほとんどは、現在、あらゆる種類の I/O 操作 (パイプ、コンソール、ファイル、ソケットなど) に関するものです。私は、さまざまな種類のハンドル (同期、非同期、イベントの完了待ち、ファイル HANDLE、I/O 完了ポート、アラート可能 I/O の待機) からの読み取りと書き込みのさまざまな方法をよく知っています。私たちはそれらの多くを使用しています。

一部のアプリケーションでは、すべてのハンドルを 1 つの方法で処理できると非常に便利です。つまり、プログラムは、受け取ったハンドルの種類を認識していない可能性があり、たとえば、すべての I/O 完了ポートを使用したいと考えています。

だから最初に私は尋ねます:

私がハンドルを持っているとしましょう:

これは、どこかからの I/O のプロセスによって受信されました。作成されたフラグを簡単かつ確実に確認する方法はありますか? 問題の主なフラグはFILE_FLAG_OVERLAPPED.

これまでのところ、私が知っている唯一の方法は、そのようなハンドルを I/O 完了ポートに登録しようとすることです (を使用CreateIoCompletionPort())。それが成功した場合、ハンドルは FILE_FLAG_OVERLAPPED で作成されています。HANDLE hただし、I/O 完了ポートのみを使用する必要があります。これは、ハンドル自体を閉じないとハンドルから登録を解除できないためです。

の存在を判断する簡単な方法がFILE_FLAG_OVERLAPPEDあるとすれば、次の 2 番目の質問があります。

そのようなフラグを既存のハンドルに追加する方法はありますか? これにより、同期操作用に最初に開いていたハンドルが、非同期操作用に開かれます。反対の方法を作成する方法はありますか (FILE_FLAG_OVERLAPPED非同期から同期ハンドルを作成するために削除します)?

MSDN を読み、何度もグーグル検索した後も、直接的な方法は見つかりませんでした。同じことができる少なくともいくつかのトリックはありますか?CreateFile()関数などを使用して同じ方法でハンドルを再作成するようなものですか? 部分的に文書化されているか、まったく文書化されていないものですか?

私がこれを必要とする主な場所は、プロセスがサードパーティのアプリケーションによって送信されたハンドルから読み取り/書き込みを行う方法を決定する (または方法を変更する) ことです。サードパーティ製品がハンドルを作成する方法を制御することはできません。

親愛なる Windows の達人: 助けてください!

よろしく

マーティン

0 投票する
4 に答える
4116 参照

java - MINA:同期書き込み要求/読み取り応答の実行

MINA 2.0 RC1を使用してdemuxベースのクライアントアプリケーションで同期書き込み/読み取りを実行しようとしていますが、スタックしているようです。これが私のコードです:

サーバー側で、LoginRequestオブジェクトが取得され、LoginResponseメッセージが送信されていることがわかります。クライアント側では、DemuxingProtocolCodecFactoryは応答を受信しますが、ログをスローした後、クライアントがへの呼び出しでスタックしていることがわかりますreadFuture.awaitUninterruptibly()

私自身のコードに基づいて、なぜそれがここで立ち往生しているのか理解することはできません。セッション構成で読み取り操作をtrueに適切に設定しました。これは、メッセージをブロックする必要があることを意味します。しかし、応答メッセージを同期的に読み取ろうとすると、メッセージが存在しなくなったように見えます。

なぜこれがうまくいかないのかについての手がかりはありますか?

0 投票する
1 に答える
1464 参照

iphone - iPhone 同期 FTP

私は初心者です。アプリケーションで同期 FTP ダウンロード (ftp サーバー上のファイルから iphone 上のファイルを作成するため) を使用しようとしましたが、実行できません。ドキュメント (および CFTPSample) を読み、同期ではなく非同期ダウンロードを使用することができました。誰でも私を助けることができますか?

乾杯