問題タブ [notify]
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.
java - Java スレッド: メソッドの待機と通知
メソッドを呼び出すスレッドがあり、メソッドが他のクラスから呼び出されwait
た場合にのみ起動できます。notify
上記のコードで、 if のsynchronized
ブロックが最初に実行されず、代わりに他の同期ブロックが実行されて完了まで完了し、そのブロックが実行されて が呼び出された場合、何が起こり、どのように再度通知されるのでしょうか?main
ThreadA
ThreadA
synchronized
wait
java - FindBugs のネイキッド通知警告を修正するには?
私はFindBugsのNaked通知警告を持っています。以下は私のコードです。
「これ」は「public class Controller extends Thread」です。警告を修正する方法?? 私はそれを知りません。
前もって感謝します。
android - Android : BaseAdapter で notifyDataSetChanged を呼び出す
現在、Android でオープン ソースの電子メール クライアントをデバッグしていますが、メッセージのステータス (既読と未読) に関して問題があります。クライアントが新しいメッセージを受信してメールをチェックするたびに、すべての既読メッセージが再び未読になります。BaseAdapter を拡張するカスタマイズ クラスがあります。私のトレースの一部は、onResume で notifyDataSetChanged を呼び出したことです。私の質問は、notifyDataSetChanged によって実際にビューが変更されることをどのように知ることができるかということです。私は bindView と getView にログを入れて、notifyDataSetChanged を呼び出すと本当に成功するかどうかを確認しましたが、ログは表示されませんでした。新しいビューを設定するためにアダプターを呼び出さなかったということですか?
php - PostgreSQL LISTEN/NOTIFY が機能しない
基本的なセットアップは次のとおりです。
PHP スクリプトは、データベース内のテーブルに書き込み、発行します
NOTIFY job_added
。次に、次のコマンドを発行して応答のリッスンを開始します。LISTEN job_complete
デーモン (C で記述) は既に a を発行している
LISTEN jod_added
ため、ウェイクアップしてテーブルを処理します。デーモンはテーブルを処理し、呼び出す前に結果を結果テーブルに書き込みます。
NOTIFY job_complete
その後、PHP スクリプトが起動し、結果テーブルから結果を取得します。
最後のステップ以外はすべて機能しています。デーモンは libpq を使用NOTIFY
し、デーモンが結果を結果テーブルに追加したら、デーモンによって発行されたの成功を確認しました。
したがって、問題は PHP スクリプトにあると思います。関連するコードは次のとおりです。
したがって、ジョブ テーブルに追加し、aLISTEN
を発行して、ジョブが完了したという通知を受け取るまで 30 秒間ループします。
問題は、デーモンによって発行されたpg_get_notify()
を取得しないことです。デーモンによって発行された後、phpスクリプトによって発行されたことNOTIFY
に注意してください。NOTIFY
LISTEN
私がやっていることが完全に間違っていることはありますか? ところで、 query() が組み込み関数ではないことはよく知っています。簡潔にするために追加されました。
ありがとう
java - ThreadPoolExecutorを使用したスレッドの同期
main(father)スレッドを作成するときに、いくつかのロジックを実装しようとしています。witchは他のいくつかのスレッドを実行します。次に、子スレッドが作成する条件を待ちます。条件が満たされた後、父親はさらにいくつかの子スレッドを実行します。wait / notifyを使用すると、java.lang.IllegalMonitorStateException例外が発生するという問題。コードは次のとおりです。
}
待機して通知行にコメントすると、次の出力が表示されます。
メイン
スレッド待機中
メインスレッド通知済み
子スレッド1
子スレッド2
子スレッド1
終了子スレッド2終了
メインスレッド終了
auto-update - 継続的なデータ アルゴリズムの更新
Web サイトにはきちんとリストされた情報があり、(決まったスケジュールではなく) 頻繁に新しい情報で更新されます。家/分のすべてのx量を知らせるのではなく、何か新しいものが更新されたときに自動的に知らせる簡単なスクリプトを書きたいと思っています。
私が最初に考えたのは、探していたすべての情報を取得してリストに保存し、次のスキャンで新しいリストを作成してすべての重複を取り除くことで、新しい情報が得られるということでした。
そのようなことを行う効果的な方法を知っていて、私を正しい方向に導くことができれば、それはありがたいです.
私は実際にソースコードを探しているわけではありません。それをどのように行うかだけであり、効率的な方法についてのガイダンスの後、それをまとめることができると確信しています。
java - .wait と .notify によるオブジェクト プーリング
オブジェクトをプールするJavaでクラスを作成しようとしています。クラスは必要な最小量のオブジェクトの作成を開始します。リクエストが開始されると、すべてのスレッドは、使用可能なオブジェクトがあるかどうか、最大数にまだ達していないためにオブジェクトを作成できるかどうか、またはそれ以外の場合は待機する必要があるかどうかを確認します。 1 つ取得します。
スレッドはエンジンを取得/作成するために同期する必要がありますが、並列で処理できます (ProcessWithEngine
メソッド)。処理には数分かかる場合がありますが、どうやら思い通りに動作しているようです。
問題は、が呼び出されてスレッドが から解放されると、キューにアイテムが 0 になることがあります。.notify()
.wait()
.notify()
何が問題なのですか?
コードは次のようになります。
私はこれを修正しました:
しかし、基本的にこれは、スレッドが順番を失っていることを意味し、後でタイムアウトを意味する可能性があります。
java - スレッドがセットアップを完了したときに、スレッドを開始したメソッドに通知するにはどうすればよいですか?
スレッドを開始するメソッドがあり、スレッドがセットアップ段階を終了するまでメソッドをブロックするか、競合状態に直面する必要があります。
待機通知を使用したいことはわかっていますが、モニターなどを所有する方法がわかりません。
android - アプリ内から送信されたメッセージを SMS アプリで確認するにはどうすればよいですか?
SMS で動作するクールなアプリを作成しました。携帯電話に SMS を送信するだけで、位置情報や便利な情報が返信されます。私のフライドにとって便利です。「WhereIs」でSMSを送信するように伝えました。私の位置を自動的に返信します
応答には、次を使用します。
そして、それはとても良いことです。
残念ながら、送信されたすべての SMS が SMS アプリケーションに表示されないため、SMS が送信されたことを知りません。
私に尋ねてきた人々が何を答えとして受け取っているか知りたいです。
したがって、正しい質問を作成するには:
アプリケーションで SMS を送信したことを SMS アプリに「伝える」方法はありますか?
回答ありがとうございます。
qt - QCoreApplication::notifyInternalセグメンテーション違反
こんにちは私はC++で共有ライブラリを開発していて、QTインターフェイスを使用してテストしています。すべて問題ないように見えましたが、突然アプリケーションがクラッシュし、次のコアダンプが表示されました。
プログラムは信号11、セグメンテーション違反で終了しました。0 0x00401b26 in QCoreApplication :: notifyInternal(QObject *、QEvent *)()from /usr/lib/libQtCore.so.4
(gdb)bt
0 0x00401b26 in QCoreApplication :: notifyInternal(QObject *、QEvent *)()from /usr/lib/libQtCore.so.4
1 0x0043093a in ?? ()/usr/lib/libQtCore.so.4から
2 0x009d7855 in g_main_context_dispatch()from /lib/libglib-2.0.so.0
3 0x009db668 in ?? ()/lib/libglib-2.0.so.0から
4 0x009db848 in g_main_context_iteration()from /lib/libglib-2.0.so.0
5 0x00430565 in QEventDispatcherGlib :: processEvents(QFlags)()from /usr/lib/libQtCore.so.4
6 0x05cedbe5 in ?? ()/usr/lib/libQtGui.so.4から
7 0x00400609 in QEventLoop :: processEvents(QFlags)()from /usr/lib/libQtCore.so.4
8 0x00400a8a in QEventLoop :: exec(QFlags)()from /usr/lib/libQtCore.so.4
9 0x0040500f in QCoreApplication :: exec()()from /usr/lib/libQtCore.so.4
10 0x05c2ae07 in QApplication :: exec()()from /usr/lib/libQtGui.so.4
11 0x0804cd72 in main()
SDカードにインストールされたubuntu10.10で実行しており、QT4.7.0を使用しています。Windowsでは、アプリケーションは正常に動作し、Linuxでも、アプリケーションがランダムにクラッシュするまで動作します。私はインターネットで同様のコアダンプを持つアプリケーションを読んだことがあるので、ubuntuなどのQTバグかどうかはわかりません。
ありがとう!