タグ付けされた質問 「runnable」

30
Javaでの「実行可能な実装」と「スレッドの拡張」の比較
私がJavaでスレッドを使ったときから、スレッドを作成する次の2つの方法を見つけました。 とimplements Runnable: public class MyRunnable implements Runnable { public void run() { //Code } } //Started with a "new Thread(new MyRunnable()).start()" call それとも、とextends Thread: public class MyThread extends Thread { public MyThread() { super("MyThread"); } public void run() { //Code } } //Started with a "new MyThread().start()" call これら2つのコードブロックに大きな違いはありますか?


17
ExecutorServiceのスレッドとスレッドプールの命名
そのExecutorようなフレームワークを利用するアプリケーションがあるとしましょう Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } このアプリケーションをデバッガーで実行すると、次の(デフォルト)名でスレッドが作成されますThread[pool-1-thread-1]。ご覧のとおり、これはそれほど有用ではなく、私が知る限り、Executorフレームワークは作成されたスレッドまたはスレッドプールに名前を付ける簡単な方法を提供していません。 では、どのようにしてスレッド/スレッドプールの名前を提供するのでしょうか?例えば、Thread[FooPool-FooThread]。


7
パラメータで実行できますか?
「パラメーターを受け入れるRunnable」が必要ですが、そのようなRunnableは実際には存在しないことを知っています。 これは、アプリの設計に根本的な欠陥があるか、疲れた脳の精神ブロックを示している可能性があるため、基本的なOOの原則に違反せずに、次のようなことを行う方法に関するアドバイスを見つけたいと思います。 private Runnable mOneShotTask = new Runnable(String str) { public void run(String str) { someFunc(str); } }; 上記のようなことを達成する方法はありますか?
178 java  runnable 

2
わかりやすい説明では、Javaで実行可能とは何ですか?[閉まっている]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 素人の言葉で、Javaで「実行可能」とは何ですか?私は高校のAPプログラミング学生です。その割り当ては、研究を行うか、「実行可能」が何であるかを他の人から探し出します(まだOOPに入っており、まだスレッドに触れていません)。
92 java  runnable 

9
Runnableのrun()に例外をスローさせる方法はありますか?
Runnableを実装するクラスのrun()で呼び出しているメソッドは、例外をスローするように設計されています。 しかし、Javaコンパイラーではそれができず、try / catchで囲むことをお勧めします。 問題は、それをtry / catchで囲むことにより、その特定の run()が役に立たなくなることです。私はその例外をスローしたいです。 run()自体を指定するthrowsと、コンパイラは次のように文句を言います。Exception is not compatible with throws clause in Runnable.run() 通常、私はさせないで完全に元気です run()に例外をスローさ。しかし、私にはその機能が必要な独特の状況があります。 この制限を回避するにはどうすればよいですか?

2
割り当てられたタスクの1つが何らかの理由で失敗すると、Javaはexecutorサービスを停止します
いくつかのタスクを同時に、1秒の間隔で1分間実行するある種のサービスが必要です。 タスクの1つが失敗した場合、サービスとそれとともに実行されたすべてのタスクを何らかの問題が発生したことを示すインジケーターで停止します。それ以外の場合は、1分後にすべてがうまくいった場合、サービスはすべて正常に終了したことを示すインジケーターで停止します。 たとえば、私は2つの機能があります: Runnable task1 = ()->{ int num = Math.rand(1,100); if (num < 5){ throw new Exception("something went wrong with this task,terminate"); } } Runnable task2 = ()->{ int num = Math.rand(1,100) return num < 50; } ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(2); task1schedule = scheduledExecutorService.scheduleAtFixedRate(task1, 1, 60, TimeUnit.SECONDS); task2schedule = …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.