問題タブ [locks]

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 に答える
5154 参照

debugging - !locksが機能しないのはなぜですか?

私はwindbg(MSDNダウンロードページから入手可能な最新のもの)を使用しています。

アプリでデッドロックをデバッグしようとしていますが、!locksは非常に便利です。ただし、機能していません。

なぜ動揺しているのかわかりません。シンボルが正しくロードされています:

そしてNTSDは同意します:

そして、スタックは良さそうです:

どんな助けでも大歓迎です。

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

javascript - Javascript とレンダリングが一時停止し、Android ブラウザーでスクロールしても一時停止したままになる

スクロールとレンダリング、および JavaScript に関連する奇妙な動作を見つけました。

それを実現する方法:

スクロールするのに十分な長さの Web ページ。かなり速くスクロールを開始します (ページをめくります)。タッチを離します。勢いのためにページがまだスクロールしている間。画面をタップしてスクロールを停止します。

これにより、ブラウザは奇妙なモードに入ります。

nexus 1 では、次のように動作します。画面に表示される内容の更新が停止し、リンクをクリックして目的の場所に移動することはできますが、画面に表示される内容は変わりません。

次に画面を少しスクロールすると、画面の更新が再び開始され、常に見たいと思っていた場所が表示されます。

私が試したHTC Senseを搭載したすべての電話(Hero、Desire、Legend)で、これが起こります:

nexus と同じように画面の更新が停止されますが、JavaScript の実行も停止されます。別のページに移動するリンクをクリックすると、通常の状態に戻ります。

これをテストした方法は、次のようなページを作成することでした。

http://pastebin.ca/1881620

changeColor 関数は、'container' の背景色をいくつかの異なる色に変更しただけです。

したがって、エラーが発生する前に、リンクをクリックすると色が変わります。

エラーの後、これが起こります:

ネクサス 1: リンクをクリックしても何も起こりません (リンクがクリックされたかのように「オレンジ色のリンクが選択された角の丸いボックス」が表示されることを除いて)。次に、少しスクロールすると。色が変わったことがわかります (リンクをクリックした回数と同じ回数)。

感覚的に: リンクは google.com に連れて行ってくれます

他の誰かがこの問題に気づきましたか? とにかくそれを回避する方法はありますか?

ありがとう。

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

sql-server - ロックの監視

レコード管理にLivelinkを使用しており、ユーザーがサブフォルダーを失ったフォルダーを移動すると、データベースがロックされ、システム全体の速度が低下します。ユーザーに多くの警告を送信しているにもかかわらず、これはまだ発生しています。ロックが発生したときに早期警告システムを提供するソートまたは監視ツールはありますか?

そうでない場合、ロックを表示し、ロックを引き起こしているユーザーのユーザー名を提示するために実行するためにどのコードを使用しますか?

ありがとう

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

windows - OSローダーロックのしくみ

WindowsでのDLLのロードとアンロードに関連してOSローダーロックがどのように使用されるかをもう少し詳しく理解しようとしています。

新しいスレッドが作成/破棄されたとき、または新しいDLLがロード/アンロードされたときに、ロードされたすべてのDLLに通知が届くことを理解しています。

つまり、DllMain関数はロック内で実行され、実行中は他のスレッドがそれにアクセスできません。その関数で別のスレッドを作成すると、プロセスやOSがハングする可能性がありますか?

私の理解は正しいですか?

これを説明する記事はどこかにありますか?

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

c++ - 構成によるクラスへのロックの追加

私はC++でスレッドセーフなクラスを書いています。そのパブリックメソッドはすべて、ロック(非再帰的スピンロック)を使用します。プライベートメソッドはロックフリーです。したがって、すべてがOKである必要があります。ユーザーがパブリックメソッドを呼び出し、オブジェクトをロックしてから、プライベートメソッドを介して作業を行います。しかし、パブリックメソッドが別のパブリックメソッドを呼び出すと、デッドロックが発生しました。再帰的ミューテックスは悪いので、デバッグが難しいと読んだことがあります。したがって、Cのstdioの方法を使用します。パブリックメソッドFoo()はオブジェクトをロックするだけで、Foo_nolock()を呼び出してすべての作業を実行します。しかし、私はこれらの_nolock()メソッドが好きではありません。私のコードと重複していると思います。そこで、私はアイデアを思いつきました。ロックのないクラスBarNoLockと、メンバーが1つだけのスレッドセーフなクラスBar(BarNoLockのインスタンス)を作成します。そして、すべてのBarのメソッドは、このメンバーをロックして、そのメソッドを呼び出すだけです。それは良い考えですか、それとももっと良いパターン/実践があるのでしょうか?ありがとう。更新:私はpimplとbridgeについて知っています。

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

php - クリティカル セクションを達成するために PHP でロックする - MySQL での予期しない結果

目標は、一度に 1 つのスレッド/プロセスによってのみ実行できるコードの特定のセクションを含む PHP スクリプトを作成することです。

いくつかの制限:

  • 私のシステムではセマフォが利用できません
  • マニュアルには、マルチスレッド サーバーでは flock() を使用できないと記載されているため、flock() は廃止されました。(これを確認した)

そのため、MySQL を同期に使用することは可能であると考えていましたが (なぜでしょうか?)、予期しない結果が得られています。

テストするために、スクリプト test.php で 2 つのブラウザー タブを開きます。

表は次のとおりです。

最初のブラウザー タブに移動し、スクリプトにアクセスします。5 秒待ってから、別のタブに移動してスクリプトにアクセスし、両方のスクリプトが並行して実行されるようにします。最初のタブが待機することを期待しており、2 番目のタブは最初のクエリの後に終了する必要があります。ただし、両方のタブが sleep() 行で待機します。これは、最初のクエリが常に 'NOT_RUNNING' を返すことを意味します。

いくつかの奇妙なこと:

  • 上記の実験を繰り返すと、両方のタブを FireFox で実行し、次に 3 番目の異なるブラウザー タイプ (たとえば Chrome) で実行すると、うまくいきます。(ステータスはスリープ中に RUNNING に設定され、ステータスが RUNNING の場合、スクリプトは早期に終了します)
  • 2 つの異なるコマンド ライン ウィンドウを使用して上記の実験を繰り返し、コマンド ラインからスクリプトを実行すると、機能します。
  • 待機中にphpMyAdminをチェックすると、ステータスが正しく更新されます。

テーブルのロック、トランザクション、SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED、SET autocommit = 1;、すべてを試しましたが、常に同じ結果が得られました。

ここで何が起こっているか知っている人はいますか?この問題の良い解決策はありますか?

テスト済みのシステム: - Win、MySQL 5.0、php 5.3 - Linux、MySQL 5.0.91-community-log、php 5.2.12

ここで完全に立ち往生しています。見てくれてありがとう!


アップデート:

回答を送信していただきありがとうございます。まだこの問題を解決できません。提案されている GET_LOCK() と session_write_close() を使用したコードを次に示します。行レベルのロック、トランザクション、およびさまざまな分離レベルも試しました。もしかして出来ないのでしょうか?

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

c# - C#マルチスレッド

わかった。2つのスレッドを実行したい。現在のコード:

両方が同じリストにアクセスしています。問題は、最初のスレッド「foo」がロックを解放していないことです。「bar」は「foo」が実行されたときにのみ開始されるためです。ありがとう

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

python - Python とマルチプロセッシング、セット世代をサブプロセスに分割

他の文字列の計算に基づいて一連の文字列を生成する必要があります。これにはかなりの時間がかかります。私はマルチプロセッサ/マルチコア サーバーで作業しているので、これらのタスクをチャンクに分割して別のプロセスに渡すことができると考えました。

最初に、文字列の最初のリストをそれぞれ 10000 個のチャンクに分割し、これを新しいセットを作成するプロセスに送信します。次に、ロックを取得してマスター プロセスに報告します。しかし、マスター プロセスのセットが空です。

ここにいくつかのコードがあります:

奇妙なのは、a) マスター プロセスの self.feature_labels が空であるが、各サブプロセスから呼び出されると項目があることです。私はここで間違ったアプローチを取っていると思います (これは私が Java で行っていた方法です!)。より良いアプローチはありますか?

前もって感謝します。

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

sql - コミットされていない削除でデータを読み取るにはどうすればよいですか?

MS SQL 2008プロシージャは、データを削除してから挿入します。挿入が行われるまで、つまり削除後、別の接続でデータを読み取ることができる必要があります。どうすればこれを達成できますか?

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

c - Cでのシステムコールとの同期

私は少し奇妙なことをしていますが、完全に同期させたいです。だから私はあなたの助けを求めることを考えました。私は次のものを持っています:

これはエコーではなく非常に抽象的です。出力を提供するソフトウェアを実行しているため、実行時間は予測できませんが、順序は同じです。printf、システムコール、printfの順に並べて、そのように配置したい

私の名前はsyntax_Errorです。私は17歳です\n

私はこの注文をロックなしで試しましたが、うまくいきませんでした。これは非常に明白です。または、うまくいく場合は予測できません。私は同期構造に不慣れなので、あなたの意見をお願いします。

乾杯!=)