問題タブ [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.
javascript - 外部 JS ファイル (Google アナリティクス) の読み込みを遅らせる方法は?
次のコードを使用して、レンダリングをブロックしないように Google アナリティクス (外部 JavaScript) をロードしています。
ただし、YSlow と Safari Web Inspector の両方を使用すると、ネットワーク トラフィックは、ga.js スクリプトがまだレンダリングをブロックしていることを明確に示しています。
JavaScript を使用して ga.js ファイルの読み込みを遅らせる方法についてのアイデアはありますか?
jquery - .php ファイルが jQuery リクエスト ページの外に読み込まれないようにする
jQuery を使用して別のページ内に読み込まれるページがあります。私が知りたかったのは、別のページ内に読み込まれるそのページへの直接アクセスを何らかの方法でブロックできるかどうかです。
sql-server-2005 - 'create function...' で SQL Server がブロックされていますが、これは何を意味していますか?
この記事https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=275の SQL を使用して、エラーの原因を突き止めようとしました。私のSQL Server 2005データベース内で最近起こっている多くのブロッキング。多くの場合、返されたすべてのプロセスが「関数の作成...」を呼び出しています。関数はさまざまですが、それらの多くは同じ関数を作成しています。記事に含まれる詳細から、およびテーブルの内容を見ると、結果セットが構築されているため、これらの create ステートメントが通常呼び出されているようには見えません。これは、問題の関数の再コンパイルを意味しますか? または、他の何か?
助けてくれてありがとう、
ロビン
python - ブロック-Pythonサブプロセスパイプラインに入力を送信します
私はPythonでサブプロセスパイプラインをテストしています。以下のプログラムがPythonで直接実行できることは承知していますが、それは重要ではありません。パイプラインをテストしたいので、使用方法を知っています。
私のシステムはLinuxUbuntu9.04で、デフォルトはpython2.6です。
私はこのドキュメントの例から始めました。
それは機能しますが、p1
'sstdin
はリダイレクトされていないため、パイプにフィードするためにターミナルに入力する必要があります。^D
終了stdinと入力すると、必要な出力が得られます。
ただし、Python文字列変数を使用してパイプにデータを送信したいと思います。最初に私はstdinに書いてみました:
動作しませんでした。p2.stdout.read()
最後の行で代わりに使用してみましたが、ブロックされます。追加p1.stdin.flush()
しましp1.stdin.close()
たが、どちらも機能しませんでした。それから私はコミュニケーションに移りました:
だから、それはまだそれではありません。
単一のプロセスの実行(p1
上記のように、削除p2
)が完全に機能することに気づきました。p1
また、ファイルハンドルを( )に渡すこともできますstdin=open(...)
。したがって、問題は次のとおりです。
ブロッキングせずに、Pythonで2つ以上のサブプロセスのパイプラインにデータを渡すことは可能ですか?なぜだめですか?
シェルを実行してパイプラインをシェルで実行できることは承知していますが、それは私が望んでいることではありません。
更新1:以下のAaron Digullaのヒントに従って、スレッドを使用して機能させようとしています。
まず、スレッドでp1.communicateを実行してみました。
さて、動作しませんでした。に変更するなど、他の組み合わせも試してみまし.write()
たp2.read()
。何もない。次に、反対のアプローチを試してみましょう。
コードはどこかでブロックされてしまいます。生成されたスレッド、メインスレッド、またはその両方。だからそれはうまくいきませんでした。それを機能させる方法を知っているなら、機能するコードを提供できればもっと簡単になるでしょう。私はここで試しています。
更新2
Paul Du Boisがいくつかの情報で以下に答えたので、私はさらにテストを行いました。モジュール全体を読み、subprocess.py
それがどのように機能するかを理解しました。だから私はそれをコードに正確に適用してみました。
私はLinuxを使用していますが、スレッドを使用してテストしていたため、最初のアプローチは、subprocess.py
のcommunicate()
メソッドで見られる正確なWindowsスレッドコードを複製することでしたが、1つではなく2つのプロセスでした。これが私が試したものの完全なリストです:
上手。うまくいきませんでした。p1.stdin.close()
呼び出された後も、p2.stdout.read()
まだブロックします。
次に、posixコードを試してみましたsubprocess.py
:
また、をブロックしselect.select()
ます。sを広めることによってprint
、私はこれを見つけました:
- 読書は機能しています。コードは実行中に何度も読み取ります。
- ライティングも機能しています。データはに書き込まれ
p1.stdin
ます。 - の終わりに
numwrites
、p1.stdin.close()
が呼び出されます。 select()
ブロックを開始すると、何かしかありto_read
ませんp2.stdout
。to_write
すでに空です。os.read()
callは常に何かを返すため、p2.stdout.close()
呼び出されることはありません。
両方のテストからの結論stdin
:(例では)パイプラインの最初のプロセスを閉じることはgrep
、バッファリングされた出力を次のプロセスにダンプして死ぬことにはなりません。
それを機能させる方法はありませんか?
PS:一時ファイルは使いたくありません。すでにファイルでテストしていて、動作することはわかっています。そして、私はウィンドウを使いたくありません。
java - Java ProcessBuilder: 外部プロセスがハングする
Java の ProcessBuilder クラスを使用して外部プロセスを実行しています。プロセスは、Java プログラムが終了する前に終了してはなりません。コマンド/応答モードで存続する必要があります。
プロセス ストリームは無視すると簡単に「ジャム」する可能性があることを知っているので、次のことを行いました。 プログラムは、プロセスの結合された出力ストリームとエラー ストリームを「リーダー」スレッドで読み取り、「ライター」スレッドを使用してコマンドを管理します。 . リーダー スレッドは、プロセス出力からの文字読み取りをブロックし、それらを文字列にバッファリングして、結果をディスパッチします。書き込みスレッドは、PrintWriter を介して完全な「コマンド」行を書き込みます。キューを使用して、2 つのコマンド書き込みが「近すぎ」(現在は 100 ミリ秒) ないようにし、前のコマンドの出力が完了する前に新しいコマンドが書き込まれないようにします。また、すべての println() の後に、flush() と checkError() を呼び出します。
このスキームは、数秒または数分間正常に機能し、その後、読み取りスレッドがブロッキング read() でハングします。エラーも例外もスローされず、プロセス出力もありません。その後、外部プロセスを復活させるものは何もありません(再起動する以外)。(ところで、これは Linux と Windows の両方で発生します。)
Jakarta Commons Exec と Plexus Utils http://plexus.codehaus.org/plexus-utils/のコードとテストケースを見てきましたが、(a) どちらも長寿命のプロセスを使用する例を示しておらず、( b) どちらも、私が説明したことと基本的に異なることをしているようには見えません。
ここで何が起こっているのか、誰にも分かりませんか?ありがとう!
c# - ブロッキング/同期方式でファイルをダウンロードするにはどうすればよいですか?
私はSilverlightを初めて使用し、非同期ファイルのダウンロードしか実行できないことに非常に驚いていました。さて、私はフラグを設定してそれが変更されるのを待つだけでこれに対抗しようとしました。これは私の単純なコードです
これにより、Firefoxが実際にフリーズします(開発中に他のことをしていると非常に面倒です)(ところで、FirefoxをテストしてFirefoxがフリーズしたので、Firefoxに敬意を表しますが、復元後にここに入力した内容は失われませんでした)。
while(XmlStateStream==null){}
なぜフリーズが発生しているのかわかりません。ロックまたは揮発性(私がすでに持っているもの以外)の属性がありますか、それともSilverlightページのライフサイクルの間違った部分にいますか?
なぜこれが機能しないのか、私は本当に混乱しています。
また、これはSilverlight3.0です
asp.net - DBでASP.NET要求のロックまたは行のロックを整理する方法
画像にアクセスするためのasp.netページ/ハンドラーがあります。画像に対して最初のリクエストを実行すると、画像のサイズを標準サイズに変更して(ディスクに保存)、元に戻します。したがって、1つを除くすべてのリクエストを画像にロックする必要があります。これは画像のサイズを変更します。URLのIDで識別される画像なので、1つの画像(URLのID)ごとに1つのロックオブジェクトが必要だと思います。私の質問は、このロックモデルをどのように整理できますか?
私のアイデアは、このApplication.Add(Request [Id]、new object());のようにアプリケーションにロックオブジェクトを追加します(アプリケーションは同期されます)。競合するスレッドをロックするために使用します。
このタスクは、DBの行ロックやコレクション内の要素のロックなどです。
リプレイありがとうございます。
select - ncurses と stdin ブロッキング
セットに標準入力があり、ユーザーが入力してヒットするたびに標準select()
入力から文字列を取得したいと考えています。Enter
ただし、select は、ヒットする前、およびまれに、何かがまったく入力される前に、ready to read としてstdinをトリガーします。これにより、ヒットEnterするまでプログラムが停止します。getstr()
Enter
設定nocbreak()
してみましたが、画面に何もエコーされないため、入力しているものがわからないことを除けば、本当に完璧です。そして、設定echo()
はそれを変更しません。
も使用してみtimeout(0)
ましたが、その結果はさらにクレイジーで機能しませんでした。
jquery - jQueryUIモーダルダイアログがブロックされない
私はjavascriptとjQueryを初めて使用します。jQueryUIウィジェットを使用してモーダルダイアログを実装しようとしています。
モーダルダイアログは[OK]ボタンと[キャンセル]ボタンで正しく表示されますが、dialog('open')関数呼び出しがブロックされていないようで、[OK]または[キャンセル]クリックを待ちます。たとえば、次のコードを実行すると
.....ボタンクリックで
アラートボックスが最初に表示され、次にモーダルダイアログが表示されます。okToDeleteは、関数に入るときにfalseに設定し、OKボタンのコールバックでtrueに設定したグローバル変数です。
これが私のダイアログ初期化関数です
python - 東京内閣がブロックされる条件
tc
Pythonのモジュールで東京キャビネットを使用しています。データを TDB 形式で保存します。書き込み中だけテーブルがブロックされると思っていました。残念ながら、ファイルが「ライターモード」で開かれている場合、他のプロセスがそのファイルから読み取ることができないことがわかります。それは標準的な動作、ラッパーの問題ですか、それとも何か間違っていますか? または、操作がブロックされる他のケースがあるのでしょうか?