問題タブ [blocking]

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 投票する
2 に答える
29363 参照

c# - 簡単なc#httpモニター/ブロッカーを作成するにはどうすればよいですか?

私は自分の望みに近いその質問( C#で簡単なプロキシを作成する方法は? )を読んでいました。

たとえば、FirefoxやIEなどを監視し、ナビゲートされたすべてのページをログに記録するac#アプリを開発したいだけです。訪問したページに応じて、サイトをブロックしたい(親フィルターのように)。

コードスニペット/サンプルは優れていますが、そのクラスの使用方向を教えていただければ幸いです。:-)

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

sockets - ノンブロッキングソケットポーリングとブロッキングソケット

送信受信を同時に行う必要があります。
どちらのオプションが良いでしょう:

  • 非ブロッキングソケットを使用した1つのスレッド処理の送信と受信

また

  • 2つのスレッドと1つの処理ブロッキングrecv()+ 1つの処理send()?

または別の解決策はありますか?

最大で約50の双方向接続があると予想しています。その結果、オプション#1で50スレッド、オプション#2で100スレッドになります。

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

javascript - JS画像のプリロードがブロックされましたか?

私はlightboxと呼ばれるJQueryプラグインを使用しています(これは素晴らしいことです)。問題は、外部サイトの画像にアクセスしていて、ライトボックスによる画像のプリロードをブロックしていると思うことです。

具体的には、picasaがプリローダーに404(firebugを使用)を提供することを確認しましたが、firebugの[ネット]タブで失敗したリクエストを右クリックすると、[新しいタブで開く]画像が正常に読み込まれます。

これは、picasaの画像で発生します。ただし、既に表示している場合を除きます(この場合、画像を再度読み込むのではなく、ブラウザのキャッシュから取得すると思います)。

ブラウザとプリローダー(これもfirebugから)によって送信されるヘッダーにはいくつかの違いがあります。

プリローダーの「Accept」ヘッダーは次のとおりです。

対ブラウザに直接画像をロードする:

これは、リモートサーバーがブラウザのリクエストとJavaScriptを区別できる1つの方法だと思います。どう思いますか?

また、これがプラグインのプリローダーコードです...念のため

アップデート

どうやらpicasaは、DOMの一部であるか、JavaScriptを介してプリロードされているかにかかわらず、フルサイズの画像を表示することをまったく妨げているようです...これについてどうしたらよいかわかりません

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

http - イベント ループとマルチスレッド ブロッキング IO

サーバーアーキテクチャに関するコメントを読んでいました。

http://news.ycombinator.com/item?id=520077

このコメントで、その人は 3 つのことを言います。

  1. イベント ループは、アクティビティの少ない多数の接続で真に優れていることが何度も示されています。
  2. これに対し、スレッドまたはプロセスを使用したブロッキング IO モデルは、イベント ループと比較して、リクエストごとのレイテンシを削減することが何度も示されています。
  3. 負荷の軽いシステムでは、違いは区別できません。負荷がかかると、ほとんどのイベント ループは速度を落とすことを選択し、ほとんどのブロッキング モデルは負荷を減らすことを選択します。

これらのいずれかが真実ですか?

また、「イベントが悪い考えである理由 (高同時実行サーバーの場合)」というタイトルの別の記事もここにあります。

http://www.usenix.org/events/hotos03/tech/vonbehren.html

0 投票する
6 に答える
3074 参照

python - Python でノンブロッキング URL フェッチを行う方法

インターネットから数十から数百のサムネイルを表示する必要があるPygletでGUI アプリを作成しています。現在、urllib.urlretrieveを使用してそれらを取得していますが、これは完了するまで毎回ブロックされ、一度に 1 つだけ取得されます。

それらを並行してダウンロードし、GUI をブロックすることなく、完了したらすぐにそれぞれを表示することをお勧めします。これを行う最善の方法は何ですか?

スレッドについてはよくわかりませんが、threadingモジュールが役に立ちそうですか? あるいは、私が見落としている簡単な方法があるかもしれません。

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

c# - C# スレッドのプールからの中間結果でクライアント アプリケーションをコールバックする最良の方法

テキストの複数のパッセージから単語を並行してカウントする方法を備えた C# ライブラリを作成しました。getnextchar()テキストのパッセージは、呼び出されるたびにランダムな遅延がある文字ストリームとして与えられます。私のライブラリ メソッドは、これらの文字ストリームの配列を取得し、結合された単語頻度カウントを返す必要があります。これを行うために、安全に共有される単語頻度データ構造と、各文字ストリームを読み取って共有コレクションを更新するスレッドを用意しました。すべてのスレッドが完了したら、データ構造をクライアント アプリケーションに返します。

クライアント アプリケーションは、10 秒ごとに合計単語カウントの中間結果を必要とします。これを行うために、デリゲートを使用して、すべてのワーカー スレッドが完了するまで 10 秒ごとに結果をクライアントにコールバックし、その後、最終結果をクライアントに返します。

私の問題は、中間結果でクライアントをコールバックするときに、共有データ構造をロックし、ロックを解除する前にクライアント アプリケーションがコールバックから戻るのを待つ必要があることです。コールバックが実行されている間、すべてのワーカー スレッドはブロックされ、データ構造のロックを待機します。これは賢明なことではないように思えます。なぜなら、クライアント コードがすぐに返されるか、まったく返されないことに依存したり、信頼したりする必要があるとは思わないからです。ただし、クライアント コードに依存しない他の唯一の方法は、データ構造のコピーまたはスナップショットを作成し、それをコールバックを介してクライアントに渡すことです。これはメモリと計算を犠牲にしますが、コピーが作成されると、ワーカーは共有コレクションを更新し続けることができ、コールバックは必要なことを何でも行うことができます。

私の質問は2つあります:

1) 悪いクライアント コールバック実装がワーカーをブロックする可能性を許すか、定期的にコストのかかる操作を実行する可能性があるという 2 つの悪のうち、どちらが小さいか。

2)上記のいずれも行わないこの問題を解決する方法はありますか?

0 投票する
6 に答える
884 参照

java - Linux でプロセスが Receive() 呼び出しでブロック状態で待機しているかどうかを知ることは可能ですか?

私の主な目的は、プロセスが receive() を呼び出してブロックされるまでラウンドロビン方式で 1 ​​つずつ実行し、実行がキュー内の次のプロセスに切り替わるようにすることです。Java でコーディングされたコントローラー アプリケーションがあり、Runtime.getRuntime().exec() を使用してこれらのプロセス (Java アプリケーションでもある) を実行し、Process オブジェクトである戻り値を保持します。

この目的を達成するには、 receive() 呼び出し (またはブロックされているその状態) をキャプチャし、それらをコントローラー (マスター) アプリケーションに伝える必要があります。

これが可能であれば、私はあなたが望むだけ低レベルに行くことができます..私が最初に考えたのは、ドライバーからこの情報を取得し、それをコントローラー Java アプリケーションに伝えることでした。送信および受信操作をキャプチャするLinuxカーネルネットワークモジュールを作成しましたが、知る限り、socket.receive()関数はネットワークドライバーに何も伝えません。

したがって、オプションは、JVMからこの情報を取得するか、Linuxコマンドなどから取得するか、またはLinuxカーネルモジュールを介して取得することだと思いますか?

あなたの提案は何ですか?

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

oracle - dblink を介した Oracle から DB2 へのクエリは、DB2 テーブルをブロックできますか?

DBLink を介して Oracle から DB2 システムへの 500.000 レジスタを持つ中規模のクエリがあります。このクエリは DB2 テーブルをブロックして、DBLink を閉じるまで、またはクエリ (Oracle テーブルへの挿入選択) でジョブを終了するまで更新できるようにすることはできますか?

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

jquery - 選択ボックスが Internet Explorer 8 のポップアップ ビットとしてブロックされないようにするにはどうすればよいですか?

通常の選択ボックスをクリックすると、IE8 によってポップアップとしてブロックされる Web サイトで作業しています。何?!私がしていることはありますか?これを回避する方法はありますか?

私はいくつかの jQuery プラグインを使用していますが、これらの選択ボックスに影響を与えるものは何もありません。jQuery Form プラグインはこれを行いますか?