問題タブ [runnable]
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 の java.lang.Thread クラスが設計者によって final とマークされていないのはなぜですか?
Runnable を実装して Thread コンストラクターに渡すことで同じ機能を実現できる場合、ユーザーが Thread クラスを拡張してスレッドを作成できるようにすることの本質は何ですか。
android - タイプ Activity のメソッド runOnUiThread(Runnable) は引数に適用できません (void)
onUtteranceCompleted() で非 UI スレッドからダイアログを作成しようとしています。
Prompt() は、クラス MyDialog の単純な静的メソッドです。
問題は、私がやろうとしていることに対して2つのエラーが発生することです:
- タイプ Activity のメソッド runOnUiThread(Runnable) は引数に適用できません (void)
- タイプ MyDialog のメソッド Prompt(Activity) は引数に適用できません (new Runnable(){})
私が望んでいたのは、ダイアログの作成を UI スレッドに延期することによって「正しく行う」ことだけでしたが、根本的な何かが欠けているようです。
何が欠けているのか、達成しようとしている一見単純なタスクをどのように達成するのですか?
groovy - Groovy スクリプト ランナー アーキテクチャ
初期情報:特定のインターフェイス ( Runnableと呼びましょう) を実装するあらゆるものを実行できるグルーヴィーなアプリ ( Runnerと呼びましょう) があります。そして、初期段階でこのアプリに表示され、どのアプリが (インターフェイスを介してオブジェクトをパラメーターとして渡す) を呼び出すRunnables (groovy スクリプト)のプールがあります。
タスク:必要なのは、 RunnerからすべてのRunnablesを読み込んで呼び出す方法です。
要件:スクリプトは特定のパッケージ構造に従わない場合があり、Runnerと同じマシンに配置できますが、事実上任意の場所に配置できるため、注意が必要です。また、別の名前を付けることもでき (java に似た必須の名前付けについてはオープン ディスカッション: クラス名 == ファイル名)、今のところスキップすることもできます (ただし、それについてのアドバイスがある場合はクールです!)。
注:スクリプトが構成されている構成ファイル(絶対パスが提供されている)を使用して、このようなものを使用してそれらをロードし、 Object をRunnableインターフェイスにキャストして、必要なものをトリガーするか、またはinvokeMethod(...)をトリガーすることで可能だと思います。しかし、それがより簡単にできるかどうかはわかりません (方法があるはずです。あまりにも不器用に見えるからです)。また、ファイルの命名の問題と複数のクラスを 1 つのファイルの問題で処理する方法も考えられません。
PS: 長い説明は誤解を招く可能性がありますので、あいまいな部分についてコメントしてください。
java - 複数のスレッドで単一の変数をカウントする
次の実行可能なクラスがあります。
このクラスのすべてのインスタンスはones
、1 に遭遇した場合に の値を増加させる必要があります。
ones
すべてのスレッドが実行された後、クラスの外部からの値を読み取りたいと思います。
ones
スレッドセーフをインクリメントするにはどうすればよいですか?ones
このクラスの外からアクセスするにはどうすればよい ですか? 静的変数を介して?または、アプリケーションコンテキストに入れることはできますか?
編集:
次の疑似コードが私の意図をより明確にしてくれることを願っています。
android - Android:「ビュー階層を作成した元のスレッドのみがビューにアクセスできる」というエラーが発生する
私は一日中この問題に取り組んでおり、髪を抜く準備ができています。こことWebで、これは(UIスレッドではなく)スレッド内のビューで何かを行おうとしたことが原因であるという回答をいくつか見つけました。しかし、私はこれまでに見たすべてのアイデア(ハンドラー/新しいスレッド)を試しましたが、それでも機能させることができません。私は趣味として長年Cでプログラミングしていましたが、今はJava/Androidの初心者です。EclipseとAndroid2.1プラットフォームを使用してプログラミングしています。アプリケーションをできるだけ多くのAndroidスマートフォンで動作させたいので、使用しているすべての機能はAPI 1と互換性があると思います。AsyncTaskと呼ばれるものもありますが、問題が発生します。古い電話を持っている人?
これが私のアプリの機能です。ボタンをクリックすると、アプリはWebサイトにオンラインでアクセスし、xml/rssフィードをダウンロードします。次に、それを解析し、私が作成したカスタムアダプタを使用してデータをリストビューに配置します。ダウンロードと解析には1秒から15秒かかることがあるので、進行状況ダイアログを追加したいと思いました。それを追加した後、この投稿のタイトルにエラーメッセージが表示されるようになりました。アプリはダウンロードを正常に実行します(Web上の私の例のxmlファイルには8つのレコードがあるため、非常に小さいです)が、リストビューが表示される前にエラーが表示されます。したがって、ビューのどの部分がエラーの原因であるかを正確に把握し、それを修正する方法を知る必要があると思います。
コードは次のとおりです(過去数時間からすべてのテストコードを削除したので、クリーンで、すべての人と私を混乱させることはありません):
私が言ったように、数日前に別のWebサイトで見つけた進行状況ダイアログのものを追加するまで、そのコードはすべて正常に機能していました。
スレッドやハンドラーなどを調べるためにAndroidDevelopersのWebサイトにアクセスしたことがありますが、すべての助けに感謝します。それは私をますます混乱させました。実際のコード変更は素晴らしいでしょう。:-)今日、たくさんのウェブサイトを見た後、頭が痛いです。
ありがとう!
ボブ
java - Proxy オブジェクトを作成しようとすると ClassCastException が発生する
次のコードを使用して、特定の Runnable オブジェクトのプロキシを作成しようとしています。
プロキシは、指定されたオブジェクトが実装するすべてのインターフェイスを実装し、プロキシが既に作成されているかどうかを示す追加のマーカー インターフェイスを実装する必要があります。指定されたオブジェクトが Runnable を直接実装しているかどうかはわからないので、すべてのスーパー クラスでもトラバースしますが、Runnable を実装する別のインターフェイスを実装する場合は機能すると想定しているため、インターフェイス階層でもトラバースする必要はありません。 .
ただし、ClassCastException
プロキシをキャストしようとすると、次のようになりRunnable
ます。
この例外の原因を考えようとしています。指定されたオブジェクトのクラス階層は利用できません。
何か案は ?
java - スレッドの動作を理解できません-実行可能なインターフェイス
実行するたびに、次のいずれかの解決策が得られます。なぜそうなのか?1 3 5 4 2
1 3 5 2 4
1 3 2 5 4
android - クライアント スレッドを実装するクラスを呼び出そうとすると、強制的に閉じます
Androidにクライアントサーバーアプリがあり、どちらも同じマシンで実行されています。クライアント アプリの最初のアクティビティで、サーバー アプリケーションに接続するクライアント クラスを呼び出そうとしましたが、強制終了されました。
これは、アプリの最初のアクティビティでクライアント クラスを呼び出す方法です。
ここに私のクライアントクラスがあります:
誰かが何が間違っているのか、少なくとも私にアイデアを教えてくれますか。私が言うべきことの1つは、クライアントが正常に動作することです-クライアントクラスが最初のアクティビティに統合されると、サーバーに接続します(つまり、最初はクライアントクラスがなく、すべてが最初のアクティビティにありました...そしてそれはうまくいきました)。詳細については、ここにいます!よろしくお願いします!
java - runメソッドが呼び出されないのはなぜですか?
このコードを実行すると、スレッドの作成とスレッドの開始が出力されます。ただし、スレッド実行は出力されません。つまり、実行関数はまったく呼び出されません。なんでそうなの?
java - スレッドによるJava並行性の理解
「サブクラスまたは実行可能」の下の次の行が何であるか理解できませんでした。
Runnableをスレッドプールで実行する場合、プールからのスレッドがアイドル状態になるまで、Runnableインスタンスを簡単にキューに入れることができます。